『いちばんやさしいExcel VBAの教本』p.189より
拙著『いちばんやさしいExcel VBAの教本』の、p.189のワンポイント「コードの中にオブジェクト名はめったに書かれない」に、
「オブジェクト名.プロパティ」「オブジェクト名.メソッド」という形でコードが書かれていることもありますが、標準モジュールに書かれるよく見かけるコードがこの形になっていることは、非常にまれです。
と書きました。
標準モジュールに書かれたよく見かけるコードに、オブジェクトの名前が書かれていると誤解してしまう方が、増えないことを願って書いたコラムです。
逆に「オブジェクト名.プロパティ」の形になっているのは、どのようなコードか気になる方もいらっしゃるかもしれません。
シートのオブジェクト名を確認する
ワークシートのオブジェクト名を、まずは確認しましょう。
VBEのメニュー[表示]-[プロパティウィンドウ]をクリック
↓
プロジェクトエクスプローラーで「Sheet1(Sheet1)」をクリック
↓
プロパティウィンドウの(オブジェクト名)覧を確認
シートが1枚で標準モジュールが挿入されたブックの場合、プロジェクトエクスプローラーとプロパティウィンドウは、下図のような表示になっているはずです。
この状態から、プロジェクトエクスプローラーで「Sheet1(Sheet1)」をクリックすると、
プロパティウィンドウは下図のような状態になります。
(オブジェクト名)覧に「Sheet1」と表示されています。
この「Sheet1」が、ワークシート「Sheet1」のオブジェクト名です。
シートのオブジェクト名を変更する
このままではシート見出しに表示されているシート名と、オブジェクト名が同じでわかり辛いので、シート名は「Sheet1」のまま、オブジェクト名を「SH1」に変更してみましょう。
プロパティウィンドウの(オブジェクト名)覧で、オブジェクト名を変更できます。
元の「Sheet1」を消して、「SH1」と入力してから[Enter]キーを押してオブジェクト名を「SH1」に変更してみると、
プロジェクトエクスプローラーは下図のような表示になります。
つまりプロジェクトエクスプローラー上で、アイコンのすぐ右に表示されていたのはオブジェクト名で、カッコ内の表記がシート名だったわけです。
オブジェクト名を書いたSubプロシージャ
で、オブジェクト名が書かれたコードを確認しましょう。
上記の変更操作をしてから、以下のSubプロシージャを実行してください。MsgBox SH1.Name
End Sub
シート名「Sheet1」がメッセージボックスに表示されたはずです。
上記のSubプロシージャで書かれている「SH1」が、オブジェクト名です。
これが、標準モジュールのコード内にオブジェク名が書かれた「オブジェクト名.プロパティ」になっている実例です。
最終更新日時:2018-12-25 17:45
- Newer:Replaceメソッドでセル内改行を削除する
- Older:VBAでノートの文字数を取得する
Home » いちばんやさしいExcel VBAの教本 » オブジェクト名がコードに書かれるケース