0

我正在从工作表数据中填充一组数组。然后,我在将数据写入另一个工作表之前对其进行操作(参见下面的示例)。

如果我想再次使用相同的工作表数据,如何避免重写从工作表中填充数组的代码?

  • 我是否应该在一个漫长的过程中编写我的代码,这样我就不需要重新填充数组?
  • 我应该使数组全局化,以便它们可以在多个过程中重复使用吗?
  • 我是否应该将数组仅传递给需要它们在长参数列表中的过程?
  • 还有其他选择吗?

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
4

1 回答 1

1

我将创建一个包含数组作为private变量的类,然后创建一个名为Initialise或类似的公共子程序,以加载所有内容,然后根据需要创建其他子程序/函数,为您提供所需的功能。

这样你就不必传递数组,但它们仍然不是全局的。使它们全局化的问题在于,其他地方的其他代码会以某种方式更改数组的风险更大,而您的代码并不期望这种方式很难找到,因为这可能在代码库中的任何地方。

这是Excel VBA中的类的介绍。

于 2011-01-26T10:44:43.053 回答