我正在从工作表数据中填充一组数组。然后我在将数据写入另一个工作表之前操作数据(参见下面的示例)。
如果我想再次使用相同的工作表数据,如何避免重写从工作表填充数组的代码?
Sub ManipulateData()
Dim people(1 To MAX_DATA_ROW) As String
Dim projects(1 To MAX_DATA_ROW) As String
Dim startDates(1 To MAX_DATA_ROW) As Date
Dim endDates(1 To MAX_DATA_ROW) As Date
...
Loop through worksheet cells to populate arrays
...
Do something with array data
End Sub
答案 0 :(得分:1)
我创建了一个包含数组private
变量的类,然后创建一个名为Initialise
或类似的公共子,它可以加载所有内容,然后根据需要为其他子/函数提供你需要的功能。
这样你就不必传递阵列,但它们仍然不是全局的。将它们设置为全局的问题在于,其他地方的某些其他代码会以某种方式更改数组的风险更大,因为这可能是代码库中的任何地方都可能很难找到的代码。
这是Excel VBA中的introduction to classes。