Array関数とFillAcrossSheetsメソッドを使って、複数シートに値を同時に入力する
 サンプルでは、Sheet1に入力した値を、Sheet2・Sheet3の2枚のシートに同時に入力しています。
 
 まず、Sheet1に値を用意します。 
 Array関数を使って3つの文字列"赤","白", "黄"を要素としてもつ配列(myData)を設定しています。
 
 For〜Nextで、Sheet1のA列には番号(1〜3)を、B列には配列(myData)の要素を
表示する処理を行っています。

 Sheet1に値が用意できたら、Sheet2・Sheet3に同時に入力する準備をします。
 今度は、Sheet1・Sheet2・Sheet3を配列(myData)に設定して、一括して値を入力する
 FillAcrossSheetsメソッドの対象オブジェクトとして使用します。
 実行結果は、Sheet1のA列とB列の内容が、Sheet2・Sheet3に入力されます。

* Sheet1に入力される内容 
     A列   B列 
      1    赤 
      2    白 
      3    黄 

●準備● 

  新規ブックにSheet1・Sheet2・Sheet3の3つのシートを用意してください。

●サンプル● 

Sub Sample() 

    Dim myData As Variant
    Dim i As Integer

    '<配列(myData)に、"赤", "白", "黄"の3つの要素を定義します。>
    myData = Array("赤","白", "黄")              ←(1)

    '<Sheet1のA1〜A3には番号を表示し、
    'B1〜B3にはmyDataの要素を表示します。>
    For i = 1 To 3                       ←(2)
      Worksheets("Sheet1").Cells(i,1).Value = i 
      Worksheets("Sheet1").Cells(i,2).Value = myData(i - 1)  ←(3) 
    Next i 

    '<3つの要素を持つ配列(data)に、"Sheet1","Sheet2", "Sheet3"を定義します。>
    myData = Array("Sheet1","Sheet2", "Sheet3") 

    '<Sheet1のA列とB列の内容をSheet2・Sheet3に同時に入力します。>
    Sheets(myData).FillAcrossSheets Range:=Worksheets("Sheet1").Range("A1:B3")  ←(4)
End Sub 

●補足説明● 

(1)Array関数は、配列が格納されたVariant型の値を返します。
   Variant型に対してのみ有効で、要素はカンマで区切って設定します。
   
(2)For〜Nextステートメントは、指定された回数分、処理を繰り返します。
    <構文> For x =i To y 
     (処理) 
    Next x 

    x:繰り返す回数をカウントする数値変数を指定します。
    i:初期値をセットします。 
    y:繰り返す回数(最終値)をセットします。
    Nextステートメントでxに1加算され、再び処理を繰り返します。

(3)Array関数を使用して作成した配列のインデックスの最小値は、常に0です。
   そのため、サンプル「myData(i- 1)」としています。 
(4)FillAcrossSheetsメソッドは、指定されたセル範囲を、コレクション内の
   他のすべてのワークシートの同じ領域にコピーします。
    <構文> 
     object.FillAcrossSheets(Range,Type) 

  object:対象となるSheetsオブジェクト、またはWorksheetsオブジェクトを
      表すオブジェクト式を指定します。
  Range:対象のセル範囲 (Range オブジェクト)を指定します。
      この引数で指定したセル範囲が、シートのコレクションに属するすべて
      のワークシートの同じ領域にコピーされます。
      ただし、このセル範囲は、指定したコレクション内のワークシートで
      指定する必要があります。

  (サンプル「myData = Array("Sheet1","Sheet2", "Sheet3")とコピー元の
   シート名も設定しています。)

  Type:省略可能です。セル範囲のコピー方法を指定します。




戻る


Excel Word Access VBA! モーグ