対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016
「rangeプロパティで全セル指定」
という検索キーワードに気づきました。
Rangeプロパティを使って、
全てのセルを表すRangeオブジェクトを取得するには、どのようなコードを書けばいいのかを探していた方による検索キーワードです。
[スポンサードリンク]
Rangeプロパティの引数に文字列を指定して全セルを表すRangeオブジェクトを取得するサンプルマクロ
全てのセルを表すRangeオブジェクトを取得するなら、Cellsプロパティを使うのが簡単ですが、一応、Rangeプロパティを使っても同じことをできます。
Sub すべてのセルを選択する1()
Range("A1", "XFD1048576").Select
End Sub
Range("A1", "XFD1048576").Select
End Sub
2007以降のExcelは、XFD1048576セルが最終セルですから、上記のようにRangeプロパティの第1引数に「A1」第2引数に「XFD1048576」という文字列を指定した、「Range("A1", "XFD1048576")」というオブジェクト式で、全セルを表すRangeオブジェクトを取得できます。
RangeプロパティとCellsプロパティを使って全セルを表すRangeオブジェクトを取得するサンプルマクロ
2003までの形式のブックの場合、
「Range("A1", "XFD1048576")」
というオブジェクト式は当然エラーになります。
Sub すべてのセルを選択する2()
Range("A1", Cells(Rows.Count, Columns.Count).Select
End Sub
Range("A1", Cells(Rows.Count, Columns.Count).Select
End Sub
Rows.Countで行数、Columns.Countで列数をそれぞれ取得して、Cellsの引数に(厳密には、Cellsプロパティで取得したRangeオブジェクトの_Defaultプロパティの引数に)指定しています。
こうなるとやっぱりRangeプロパティを使うより、Cellsを引数なしで指定するほうが良さそうです。
[スポンサードリンク]
- Newer:VBAでデータ系列を追加する
- Older:条件付き書式・データバーによる棒グラフを作成するExcelマクロ
Home » Excel VBA Rangeオブジェクト » Cellsプロパティ » Rangeプロパティで全てのセルを取得するには