目次
目的
- 単一セルを指定したい。
- 単一セル+離れた場所にある複数セルを指定したい。
- すべてのセルを操作したい。
- Cells を使用する。
テストしてみました。
マクロの一例
下記マクロを作成してみました。
Cells プロパティで対象範囲を指定して、 Msgbox 関数でメッセージを表示後、背景色を黄色にしてみます。
Cells プロパティで 3 行目 , 2 列目の B3 セルを指定しています。
Sub B3セルのアドレス表示と着色()
MsgBox Cells(3, 2).Address
Cells(3, 2).Interior.Color = vbYellow
End Sub
上記マクロを空白のワークシート実行で実行してみると、下記画像の結果になりました。
最初、画面にメッセージが表示されて、「OK」ボタンをクリックすると、その後で、「B3」セルの背景色が黄色に着色されました。
画面に表示されたメッセージを見てみると、「$B$3」と表示されています。 Cells プロパティで指定した対象範囲と一致しているようです。
$ (ドル)のついたセル範囲の文字列は、絶対参照を表しているようです。
複数セルの場合
複数セルを対象範囲にする場合は、
Range(Cells(行番号, 列番号), Cells(行番号, 列番号))
の書式で指定するようです。
下記マクロの Cells プロパティでは、「B5:B7」のセル範囲を指定しています。
Sub B5からB7のアドレス表示と着色()
MsgBox Range(Cells(5, 2), Cells(7, 2)).Address
Range(Cells(5, 2), Cells(7, 2)).Interior.Color = vbYellow
End Sub
上記マクロを実行してみると、下記画像の結果になりました。
上記マクロの Cells プロパティで指定したセル範囲と一致しているようです。
全てのセルの場合
全てのセルを対象範囲にしたい場合は、 Cells. の記述のみで可能なようです。
下記マクロの Cells プロパティで全てのセルを対象範囲に指定しています。
Sub 全セルのアドレス表示と着色()
MsgBox Cells.Address
Cells.Interior.Color = vbYellow
End Sub
上記マクロを実行してみると、下記画像の結果になりました。
画面に表示されたメッセージは「$1:$65536」となっています。
私が使用している Excel2003 の最大行、 65536 行までのセル範囲のアドレスが表示されているようです。
背景色着色の結果を見てみると、ワークシート内の全てのセルが黄色に着色されていました。
全てのセルが対象範囲になったようです。
テスト環境
- Windows 10(64 ビット)
- Microsoft Office Excel 2003
以上、閲覧ありがとうございました。