動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2406(ビルド17716.20002クイック実行)ベータチャネル
「excel vba c列からr列の範囲指定」
という検索キーワードでアクセスがありました。
[スポンサードリンク]
RangeプロパティでC:R列を表すRangeを取得する
まずは以下のExcelマクロを実行してください。
Sub C列からR列を取得する()
Dim rng As Range
Set rng = Range("C:R")
rng.Select
MsgBox _
rng.Address(False, False) & vbCrLf & _
Format(rng.Count, "#,##0")
End Sub
Dim rng As Range
Set rng = Range("C:R")
rng.Select
MsgBox _
rng.Address(False, False) & vbCrLf & _
Format(rng.Count, "#,##0")
End Sub
正常に実行できると、アクティブシートのC:R列が選択され、
C:R 16,777,216
とメッセージボックスに表示されます。
「excel vba c列からr列の範囲指定」
と検索なさった方はExcel VBAのRangeプロパティをご存じだと思います。
Rangeプロパティの第1引数に文字列「C:R」を指定すれば、C列からR列を取得できます。
C:R列は16列存在しますから、16列×1,048,576行の「16,777,216」がメッセージボックスに表示されます。
ColumnsプロパティでC:R列を表すRangeを取得する
つづいて、先ほどのSubプロシージャの
Set rng = Range("C:R")
を
Set rng = Columns("C:R")
にしてから再度実行してください。
今度もC:R列が選択されてメッセージボックスが表示されますが、今度は
C:R 16
と表示されます。
Rangeプロパティで取得できるRangeコレクションオブジェクトの場合は個々のセルを表すRangeオブジェクトが要素ですが、Columnsプロパティで取得できるRangeコレクションオブジェクトでは個々の列を表すRangeオブジェクトが要素であり、C:R列は16列あるためメッセージボックスの2行目に「16」が表示されます。
[スポンサードリンク]
- Newer:Canvaでデザインのサイズを確認する方法
- Older:フォントメニューを表示するCanvaのショートカットキー
Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » Excel VBAでC列からR列を取得する