Excel VBAであるシートの特定のセル範囲を別の複数のシートにコピーする方法の記録です。
この場合は「FillAcrossSheets」メソッドを使います。
< スポンサーリンク >
「FillAcrossSheets」メソッド構文
式.FillAcrossSheets (Range, Type)
式 = Sheetsオブジェクトを表す変数です。
Range = 必須。コレクション内のすべてのワークシートに指定するセル範囲です。セル範囲は、コレクション内のワークシートの1つに存在する必要があります。
Type = 省略可能。セル範囲のコピー方法を指定します。
Typeの指定は以下。
値 | 内容 |
---|---|
xlFillWithAll | 値と書式をコピーします |
xlFillWithContents | 値のみをコピーします |
xlFillWithFormats | 書式のみをコピーします |
VBAで特定のセル範囲を別の複数のシートにコピーする
Sheet1のB2~C6セルをSheet3とSheet5にコピーしてみます。
値と書式をコピー
特定のセル範囲を別の複数シートにコピーする場合、値と書式をコピーしたい場合は、Typeを省略してもOKです。
Sub test()
Dim x As Variant
x = Array(“Sheet1”, “Sheet3”, “Sheet5”)
Sheets(x).FillAcrossSheets _
Worksheets(“Sheet1”).Range(“B2:C6”)
End Sub
値のみコピー
値のみをコピーしてみます。
Sub test()
Dim x As Variant
x = Array(“Sheet1”, “Sheet3”, “Sheet5”)
Sheets(x).FillAcrossSheets _
Worksheets(“Sheet1”).Range(“B2:C6”), xlFillWithContents
End Sub
書式のみコピー
書式のみをコピーしてみます。
Sub test()
Dim x As Variant
x = Array(“Sheet1”, “Sheet3”, “Sheet5”)
Sheets(x).FillAcrossSheets _
Worksheets(“Sheet1”).Range(“B2:C6”), xlFillWithFormats
End Sub
こんな記事も書いています