OfficeType

VBA~非連続セルを指定しよう~Excel

VBAで非連続セルを指定したい時はRangeオブジェクトの引数をカンマで区切ります。

Range("範囲の始まりのセル:範囲の終わりのセル")で指定できます。

Range("1つ目のセル,2つ目のセル")で指定できます。カンマで区切ることで3つ,4つ・・・・と指定できます。

複数の単一セルを参照

下のコードを実行するとセルA1,B3,C5に1が入力されます。

Sub test1()

Range("A1,B3,C5") = 1

End Sub

image-01

範囲を含めて参照

Range("1つ目のセル,範囲の左上のセル:範囲の右下のセル")のように指定すると参照に範囲を含めることもできます。

下のコードを実行するとセルA1と範囲B3:C5に1が入力されます。

Sub test2()

Range("A1,B3:C4") = 1

End Sub

image-02

指定したシートの離れたセルを参照

シートを指定するときはWorksheets("シート名")で指定できます。

下のコードを実行するとSheet2のセルA1,B3,C5に1が入力されます。

Sub test3()

Worksheets("Sheet2").Range("A1,B3,C5") = 1

End Sub

image-03

ブックを指定して参照

ブックを指定するときはWorkbooks("ブック名")で指定できます。

Book1.xlsxというブックが開いた状態で下のコードを実行するとBook1.xlsxのSheet1のセルA1,B3,C5に1が入力されます。

Sub test4()

Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1,B3,C5") = 1

End Sub