0

我在 Excel VBA 中使用以下代码复制 Excel 工作表进行计算:

Dim Store1Sheet() As Variant

Store1Sheet = Range("A1:D99")

请您告知如何将多个 Excel 工作表复制到 1 个变体,例如 StoreMultiSheet。非常感谢。

4

1 回答 1

1

从技术上讲,您正在做的是在 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 提供的一些相关问题,因为这种方法感觉相当不妥。

于 2012-08-28T19:31:57.770 回答