オーロラさんの勉強帳

SESのロースキル客先常駐勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。

【Excel VBA エキスパート ベーシック】セルの指定 ~Range・Cells~ (VBA入門11)

 

Rangeオブジェクトについて

Rangeオブジェクトはセルやセル範囲のことです。

Rangeオブジェクトは、それ自体が「全セルの集合体」でコレクションはありません。

 

※コレクションとは

WorksheetsコレクションやWorkbooksコレクションなどのこと

auroralights.hatenablog.com

 

セルを指定するする方法は、RangeプロパティもしくはCellsプロパティを使う方法があります。

以下でRangeプロパティ、Cellsプロパティの使い方を見ていきましょう。

 

Rangeプロパティについて

Rangeプロパティは「引数で指定したセル」を参照するRangeオブジェクトを取得します。

 

Rangeプロパティの書き方

Range(セル,[セル])

例:Range("A1")、Range("A1:B3")

 

Rangeはセル・セル範囲を「"(ダブルクォーテーション)」で囲んで、文字列として指定します。

以下がRangeプロパティでのセルを指定するコードサンプルになります。

いずれの指定も「()」内のアドレスを「"(ダブルクォーテーション)」で囲って指定しています。

f:id:auroralights:20201124232727p:plain

サンプルコードの結果

f:id:auroralights:20201124232741p:plain

 

Cellsプロパティ

Cellsプロパティは引数で指定した行番号、列番号を参照するRangeオブジェクトを取得します。

行番号、列番号で指定するため、単一のセルの指定となります。(RangeとCellsを組み合わせてセル範囲を指定する方法は後述します)

 

Cellsプロパティの書き方

Cells(行番号,列番号)

例:Cells(1,1)

 

以下がCellsプロパティのサンプルコードになります。

f:id:auroralights:20201124233646p:plain

サンプルコードの結果

f:id:auroralights:20201124233656p:plain

 

Rangeプロパティ・Cellsプロパティの組み合わせ

以下のようにRangeプロパティとCellsプロパティを組み合わせてセル範囲の指定ができます。

 

Range・Cellsの組み合わせ

Range(Cells(行,列),Cells(行,列))

 

サンプルコード

f:id:auroralights:20201124234221p:plain

サンプルコードの結果

f:id:auroralights:20201124234229p:plain