0

Excel VBA で次のコードを使用して、計算用の Excel シートをコピーします。

Dim Store1Sheet() As Variant

Store1Sheet = Range("A1:D99")

複数の Excel シートを 1 つのバリアント (StoreMultiSheet など) にコピーする方法を教えてください。どうもありがとう。

4

1 に答える 1

1

技術的には、バリアント内のその範囲内の各セルの値の配列を格納しています。

あなたが求めていることを行うには、それらの配列の配列を作成する必要があります。たとえば、配列の基数が 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" 内の各セルの値のバリアント配列を含む 1 つのバリアント配列が生成されます。

それらにアクセスするには、 を使用する必要があり、これは慣れ親しんだものMultisheet(x)と同等Store1Sheetです。

JackOrangeLantern が提供するリンクされた質問のいくつかを見ることをお勧めします。

于 2012-08-28T19:31:57.770 に答える