我在 Excel VBA 中使用以下代码复制 Excel 工作表进行计算:
Dim Store1Sheet() As Variant
Store1Sheet = Range("A1:D99")
请您告知如何将多个 Excel 工作表复制到 1 个变体,例如 StoreMultiSheet。非常感谢。
从技术上讲,您正在做的是在 Variant 中存储该范围内每个单元格的值数组。
要执行您要求执行的操作,您需要创建一个由这些数组组成的数组。例如,假设您将不得不做这样的事情,假设数组基数为 0:
Dim Multisheet() As Variant
Dim x As Integer
ReDim Multisheet(Sheets.Count - 1)
For x = 0 To Sheets.Count - 1
Multisheet(x) = Sheets(x + 1).Range("A1:D99")
Next
这将生成一个变体数组,其中包含工作簿中每个工作表的“A1:D99”范围内的每个单元格的值的变体数组。
要访问它们,您需要使用Multisheet(x)
,这将等同于Store1Sheet
您习惯使用的。
我建议查看 JackOrangeLantern 提供的一些相关问题,因为这种方法感觉相当不妥。