セルを範囲指定する方法
Excel VBAでセルを範囲指定するには、主に以下の2つの方法があります。
Rangeオブジェクトを使用する
Rangeオブジェクトは、Excel VBAでセル範囲を扱うための基本的なオブジェクトです。
セルのアドレスを引数として使用することで、特定のセルやセル範囲を指定することができます。
VBA
' セルA1を指定
Range("A1")
' セルA1からB10までの範囲を指定
Range("A1:B10")
' ワークシート「Sheet1」のセルA1からB10までの範囲を指定
Worksheets("Sheet1").Range("A1:B10")
' アクティブワークシートのセルA1からB10までの範囲を指定
ActiveSheet.Range("A1:B10")
コードは注意してご使用ください。
2. Cellsプロパティを使用する
Cellsプロパティは、行番号と列番号を指定することで、特定のセルを指定することができます。
Rangeオブジェクトよりも簡潔に記述できますが、範囲指定にはあまり使用されません。
VBA
' セルA1を指定
Cells(1, 1)
' セルB3を指定
Cells(3, 2)
コードは注意してご使用ください。
3. その他の方法
上記以外にも、以下のような方法でセルを範囲指定することができます。
Unionメソッドを使用する: 複数のセル範囲を結合する場合に使用します。
Intersectメソッドを使用する: 複数のセル範囲の共通部分を指定する場合に使用します。
Offsetプロパティを使用する: 基準セルから相対的な位置にあるセルを指定する場合に使用します。
具体的な使い分け
特定のセルや単純なセル範囲を指定する場合は、Rangeオブジェクトを使用するのが一般的です。
変数を使って可変の範囲を指定する場合は、Cellsプロパティを使用するのが一般的です。
複数のセル範囲を結合したり、共通部分を求めたりする場合は、UnionメソッドやIntersectメソッドを使用します。
基準セルから相対的な位置にあるセルを指定する場合は、Offsetプロパティを使用します。
参考資料
VBA:セル範囲の指定 - エクセルVBA入門 https://www.youtube.com/watch?v=ct2hUzJjh8k
【VBA入門】Rangeでセルの範囲指定(Cellsとの使い分けも解説) https://www.excelmojo.com/vba-range-cells/
VBA講座:RangeとCellsの使い分けについて - すごい改善 https://sugoikaizen.com/skill/excel-macro/
上記以外にも、Excel VBAでセルを範囲指定する方法については、様々な情報サイトで解説されています。
この記事が気に入ったらサポートをしてみませんか?