Excel vba将预先复制的数据保存到变量中

时间:2015-01-08 00:56:45

标签: excel-vba variables store copy-paste vba

现在已经学习了一段时间,并设法找到并解决了我遇到的大多数打嗝问题。

然而,我正在研究的一个项目提出了一个问题。 基本上从一张纸上复制一大块数据(在打开宏的工作表之前),打开我正在处理的工作表并运行宏,目前宏所做的是粘贴复制的数据然后重新安排如果是所需的形式。除了纸张非常繁忙以及粘贴整个数据块有可能覆盖纸张中的现有数据之外,这很好。

基本上我想知道是否有办法保存已复制到数组变量的数据? 我只是不知道语法。要粘贴它,我只使用一个简单的选择.Pastespecial行,但设置变量时你不能使用它吗?

Dim pasteAr() as Variable
    pasreAr = .....??? 'currently copied data in other workbook

一旦我完成了这项工作,通过引用此数组就可以将所需信息粘贴到工作表中应该很简单吗?

感谢您的帮助(提前:P)

1 个答案:

答案 0 :(得分:0)

复制/粘贴通常不是一种有效的方法,您可以使用变量数组来存储信息。如果要将它存储在宏之间使用,则需要将其声明为Public / Private。

Public MyArray() As Variant

Sub StoreArray()
     'Store the data you want to keep:
     MyArray = Sheets("Sheet1").Range("A1:B5").Value
End Sub

数组不会像粘贴一样工作,但这样做:

Sheets("Sheet2").Range("A1").Value = MyArray

只会在A1中填入A1中的值,有关详细信息,请参阅this page