「エクセル vba シート全体の選択」
「エクセル マクロ シート全体を選択する」
といった検索で、このサイト・インストラクターのネタ帳のアクセスが、時折あります。
ここで「シート全体」と表現されているものが何なのか、可能性がいくつか考えられますが、素直に考えればワークシート上のすべてのセルでしょうか。
シート全体を選択するサンプルマクロ
以下のSubプロシージャを実行すると、アクティブなシートの全セルが選択されます。
Cells.Select
End Sub
Cellsプロパティで、全セルを表すRangeオブジェクトを取得して、RangeオブジェクトのSelectメソッドで選択を行っているプロシージャです。
マクロ記録しましょう
Excelでは[全セル選択]ボタンをクリックすると、すべてのセルを選択できます。
この操作をマクロ記録すれば、上記のプロシージャで使っている
Cells.Select
というコードが作られます。
いまいちなことも多いマクロ記録機能ですが、是非、試しに記録してみましょう。
Cellsプロパティのそもそもの仕様
複数のセルに対してループ処理を行う場合に、引数を2つ指定して使われることの多いCellsプロパティですが、実は引数を指定せずに使うことができます。
というか、オブジェクトブラウザーを確認するとわかるとおり、Cellsプロパティ自体は、引数をとらない作りになっています。
引数をとるブロパティなら、詳細ペインのプロパティ名「Cells」の後ろに ( ) が存在するはずです。
Rangeオブジェクトの既定プロパティである_Defaultに引数を指定しているのが、
よく見かける「Cells(1, 1)」といったオブジェクト式です。
引数を指定せずに使うと、すべてのセルを表すRangeオブジェクトを返すのが、そもそものCellsプロパティの仕様です。
最終更新日時:2024-03-08 14:09
- Newer:VBAの列挙型・Enumを1からの連番にしたい
- Older:日付の条件付き書式で空白セルを除外
Home » Excel VBA Rangeオブジェクト » Cellsプロパティ » VBAでシート全体を選択する