Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » Excel VBAでC列からR列を取得する

Excel VBAでC列からR列を取得する

動作検証バージョン: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

正常に実行できると、アクティブシートの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」が表示されます。

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » Excel VBAでC列からR列を取得する

「行・列を表すRange」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.