Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » Target.Countとは

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2201 ビルド14827.20198 Microsoft Store)

「target.count 意味」
といった検索キーワードで、時折アクセスがあることに気が付きました。

断定はできませんが、

If Target.Count <> 1 Then Exit Sub

といったコードの含まれる、Excel VBAのイベントプロシージャを読み解こうとしている方による検索ではないかと、推測しています。

[スポンサードリンク]

上記のような、イベントプロシージャ内のコードであれば「Taget.Count」は、操作対象となっているセルの個数を取得するためのコードです。

Target.Countを確認するサンプル

Target.Countを、ワークシート上の選択範囲を変更したときに自動的に実行される、以下のような簡単なWorksheet_SelectionChangeイベントプロシージャを作って、「Target.Count」を確認しましょう。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 MsgBox Target.Count
End Sub

上記のイベントプロシージャの存在するワークシート上で、選択しているセル範囲を変更すると、新たに選択されたセルの個数がメッセージボックスに表示されます。

このイベントプロシージャの中では、「ByVal Target As Range」と定義されているため、Targetは選択されたセルを表すRangeオブジェクトなのです。

このイベントプロシージャの中でコード「Target.Count」は、RangeオブジェクトのCountプロパティを使用いているコードです。

Excel.Range.Count

Target.CountはSelection.Countと似ている

標準モジュールに以下のようなSubプロシージャを作成しておいて、

Sub 選択されているセルの個数を表示する()
 MsgBos Selection.Count
End Sub

セル範囲を選択しておいてから実行すると、選択されているセルの個数がメッセージボックスに表示されます。

先述のWorksheet_SelectionChangeイベントプロシージャと、「選択されているセルの個数を表示する」Subプロシージャと行っている処理は同じです。

実行するタイミングが、選択されているセルの個数を表示するSubプロシージャの場合は人間が意識的に実行する必要があるのに対し、Worksheet_SelectionChangeイベントプロシージャは名前のとおりワークシートの選択範囲が変更されたときに自動的に実行される点が違うだけです。

Worksheet_SelectionChangeイベントプロシージャの作成手順

Worksheet_SelectionChangeイベントプロシージャを作ったことがない方は、以下の手順を参考にしてください。

ワークシートが1枚だけの新規ブックでVBEを表示すると、プロジェクトエクスプローラは下図のような状態になっています。

VBEのプロジェクトエクスプローラ

プロジェクトエクスプローラに表示されている「Sheet1(Sheet1)」をダブルクリックすると、下図のように空白のSheet1イベントプロシージャが表示されます。

初期状態のSheet1イベントプロシージャ

コードウィンドウ上部の、「(General)」と表示されているボックスから「Worksheet」を選択すると、

コードウィンドウの(General)と表示されているボックス

下図のように、中身のないWorksheet_SelectionChangeイベントプロシージャが作成されます。

空っぽのWorksheet_SelectionChangeイベントプロシージャ

この、空っぽのイベントプロシージャ

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

に、コード「MsgBox Target.Count」を追加してください。

Target.Countを使ったWorksheet_SelectionChangeイベントプロシージャ

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » Target.Countとは

「イベントプロシージャ」の記事一覧

検索


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

.