VBAのプログラムを書く上で、操作をしたい対象を指定できるかはとても重要です。
今回は、Excelのオブジェクトの指定の仕方を解説したいと思います。

セルの選択の仕方

セルの選択の仕方は下記方法があります。

単一セルの選択方法

1つのセルを選択する方法です。

1つのセルの塗りつぶしをする、1つのセルの値を取得する等の際使用します。

例文では【C5】のセルを指定しています。

単一セルの選択イメージ画像

Rangeプロパティの場合

Cellsプロパティの場合

複数セルの選択方法

複数のセルを範囲選択した状態です。指定範囲の値を別の場所に貼り付けたい等の際使用します。

例文では【A1~C4】のセル範囲を指定しています。

複数セル範囲の指定イメージ

Rangeプロパティの場合

Cellsプロパティの場合

離れたセルの選択方法

離れたセルを指定する方法です。

範囲指定ではなく、Ctrlキーで何カ所かセルを指定している状態です。

Cellsの時はUnionメソッドを使う必要あります。

例文では【A1】【B2】【C3】のセルを指定しています。

離れたセルの指定イメージ

Rangeプロパティの場合

Cellsプロパティの場合

  • 例文:Union(Cells(1,1),Cells(2,2),Cells(3,3)).Select

行、列の選択の仕方

行の選択の仕方

行番号とはExcelの左端に表示されている1,2,3,4…と続く数字の事です。
横並びにセルを一括で指定したい時使用します。

行番号の指定にはRowsを使用します。

行番号で指定すると、指定行のA列~XFD列までの16,384 列分が選択状態になります。余談ですが、Ctrlキー の操作で最終列まで飛びます。

例文では5行目、3~5行目の選択状態を紹介しています。

rows指定例イメージ
行番号イメージ

一行選択の仕方

複数行の選択の仕方

列の選択の仕方

列番号とはExcelの上部に表示されているA,B,C,D…と続くアルファベットの事です。
縦並びにセルを一括で指定したい時に使用します。

列番号の指定はColumnsを指定します。

列番号イメージ

列番号で指定すると、指定列の1行目~最終行までが選択状態になります。Excelの最終行は1,048,576行です。余談ですが、Ctrlキー の操作で最終行まで飛びます。

Columns指定例イメージ

一列選択の仕方

複数列の選択の仕方

シート全体の選択の仕方

下記の通りの記述でシート全体を選択状態になります。
Cells.Select

ワークブック、ワークシートの指定の仕方

ブックやシートはインデックス番号での指定も可能です。
ブックのインデックス番号は開いたのが早い順に1~
シートはブック内の左側のタブの順に1~です。

ワークブックの指定

  • 構文 :Workbooks(“ワークブック名”)
  • 例文①:Workbooks(“VBA講座.xlsx”)
  • 例文②:Workbooks(1) 
      ※一番最初に開いたブック

ワークシートの指定

  • 構文  :Worksheets(“ワークシート名”)
  • 例文①:Worksheets(“VBAをはじめてみよう“)
  • 例文②:Worksheets(2)
     ※左から2番目のシート

オブジェクトの階層について

プログラム内で、1つのブック内の1枚のシートで完結するならば
「A3のセルの色を変えて!」という指示で伝わりますが、複数のシート、又はブック間で処理を行うプログラムを作成する際は「Aのブックの1番左のシートのA3のセルの色の値を参照して!」と
きちんと頭から指定してあげなければなりません。

その際下記の階層の大きい順番に指定するきまりがあります。

階層イメージ

Application(Excel) > ブック > シート > セル 

最上位はExcelでApplicationですが、こちらは省略可能です。

ブックからの指定が必要となりますが、ブック名とシート名は省略した場合は
アクティブブック、アクティブシートを指定した事になります。

例文① 「Book1」というブック内「Sheet1」というシートのセル「A1」の値を取得する
Workbooks(“Book1.xlsx”).Worksheets(“Sheet1”). Range(“A1”).Value

例文② アクティブシートのセル「A1」の値を取得する
Range(“A1”).Value

まとめ

今回はオブジェクトの指定の仕方という事で以下紹介させていただきました

  • セルの選択
  • 行、列の選択
  • ワークブック、ワークシートの選択

次回はよく使う「Withステートメント」についてご紹介予定です。
最後まで読んでいただきありがとうございました