【VBA】シートプロパティのオブジェクト名とは

こんにちは!大阪市を拠点に活動している『縁紡ぐ』の稲垣です。
SWELLを使ったホームページ制作や、Excel、ACCESS、RPAなどのシステム開発を行っています。
また、Excel、Word、Outlookの研修や、情報セキュリティ研修も行っています。身近なITの相談相手になりたいと思っています。
お気軽にお問い合わせください。
Excel開発者の知識:Excelシートプロパティの『オブジェクト名』とは

シートのオブジェクト名ってシート名と一緒でないの?



シートのオブジェクト名と、シートの名前は別なんだ。
オブジェクト名は、本名、シート名は、通称みたいな感じかな
ExcelVBAを使って本格的にプログラムを書いていくためには、シートのプロパティについて理解しておく必要があります。
今回は、シートオブジェクトのプロパティにある『オブジェクト名』ついて解説をします。
シートオブジェクトのプロパティ画面の表示方法
シートオブジェクトのプロパティ画面画面の表示方法は、


これで表示することができます。
オブジェクト名



オブジェクト名とは、このシートの本名を表す名称で、他のシートに同じ名前をつけることはできないです。



オブジェクト名は、ここで確認することができるんですね!
オブジェクト名は、シートに名前を付けているようなものです。



●●さん、この仕事お願いします。
といったように、VBAで、オブジェクト名+仕事名(メソッド名)で指示を出せるようになります



それって、シートに初期表示されている、「Sheet1」とかではないの?
よく勘違いされる人がいますが、Excelの下に表示されるシートに表示されているのは、『Name』になります。なので、あだ名のようなもので、人にとってわかりやすいものをつけるのが一般的です。
オブジェクト名とは、別のものになりますのでご注意ください。





上の画像を見てみると、オブジェクト名は、『wsKanrikumiai』だけど、
シートに表示されいているのは、Nameの『管理組合基本情報』が表示されているから、違っていることがわかりますね!



確かに、違う!
別物だというのが分かりましたー!
オブジェクト名を使ってセルに値を入力する



VBAで処理するときは、オブジェクト名を使って処理をすることが多いんだ



どうしてシート名じゃなくて、オブジェクト名なの?



シート名は、すぐに変えれちゃうから、プログラムが正しく動かなくなるかもしれないからだよ
Sub test()
Worksheets("名前").Range("A1") = "シートネームを利用"
End Sub
このように、コードを書くとシート名が変わると、動かなくなります。



オブジェクト名が本名だとしたら、あだ名であるシート名を変更しても、本名を使って指示していれば大丈夫ということですね!



そう!その通りだよ!
では、オブジェクト名を使ってセルに値を入れてみましょう!
コードはこちら。
Sub setCellValue()
test.Range("A1").Value = "テスト"
End Sub
実行前の状況






A1のセルに値をセットすることができました。
VBAでは、シート名よりオブジェクト名で指定することが多い
まとめ
今回は、シートプロパティにあるオブジェクト名を紹介しました。オブジェクト名は、VBAをし始めるとシート以外にも出てきます。
基本的な考え方は一緒なので、ぜひオブジェクト名を利用してコードを書いてみてくださいね!




稲垣
- Excel、ACCESSでのシステム開発が得意
- ITスキルを共有し実践的に学びながら成長する人を見るのが幸せ
- 自家焙煎するほどのコーヒー好き
- 使用言語 VBA、Python、Javascript、Java、HTML、CSS etc.
- 保有資格 Kintoneアソシエイト、日商簿記検定2級、マンション管理士、管理業務主任者、情報セキュリティマネジメント、ExcelVBA etc.
- 業務フロー図の作成や業務時間分析を通して、効率化ポイントを探る人
- お客様にとって本当に良いことかを第一に考える人
コメント