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

こんにちは!大阪市を拠点に活動している『縁紡ぐ』の稲垣です。

SWELLを使ったホームページ制作や、Excel、ACCESS、RPAなどのシステム開発を行っています。
また、Excel、Word、Outlookの研修や、情報セキュリティ研修も行っています。身近なITの相談相手になりたいと思っています。

お気軽にお問い合わせください。

目次

Excel開発者の知識:Excelシートプロパティの『オブジェクト名』とは

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

縁紡ぐ

シートのオブジェクト名と、シートの名前は別なんだ。
オブジェクト名は、本名、シート名は、通称みたいな感じかな

ExcelVBAを使って本格的にプログラムを書いていくためには、シートのプロパティについて理解しておく必要があります

今回は、シートオブジェクトのプロパティにある『オブジェクト名』ついて解説をします。

シートオブジェクトのプロパティ画面の表示方法

シートオブジェクトのプロパティ画面画面の表示方法は、

STEP
開発タブ
STEP
プロパティ

これで表示することができます。

オブジェクト名

縁紡ぐ

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

オブジェクト名は、ここで確認することができるんですね!

オブジェクト名は、シートに名前を付けているようなものです。

縁紡ぐ

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

それって、シートに初期表示されている、「Sheet1」とかではないの?

よく勘違いされる人がいますが、Excelの下に表示されるシートに表示されているのは、『Name』になります。なので、あだ名のようなもので、人にとってわかりやすいものをつけるのが一般的です。


オブジェクト名とは、別のものになりますのでご注意ください。

縁紡ぐ

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

確かに、違う!
別物だというのが分かりましたー!

オブジェクト名を使ってセルに値を入力する

縁紡ぐ

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

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

縁紡ぐ

シート名は、すぐに変えれちゃうから、プログラムが正しく動かなくなるかもしれないからだよ

Sub test()
    Worksheets("名前").Range("A1") = "シートネームを利用"
End Sub

このように、コードを書くとシート名が変わると、動かなくなります

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

縁紡ぐ

そう!その通りだよ!

では、オブジェクト名を使ってセルに値を入れてみましょう!

コードはこちら。

Sub setCellValue()

    
    test.Range("A1").Value = "テスト"


End Sub

実行前の状況

STEP
実行前
STEP
プログラム実行
STEP
実行結果

A1のセルに値をセットすることができました。

VBAでは、シート名よりオブジェクト名で指定することが多い

まとめ

今回は、シートプロパティにあるオブジェクト名を紹介しました。オブジェクト名は、VBAをし始めるとシート以外にも出てきます。

基本的な考え方は一緒なので、ぜひオブジェクト名を利用してコードを書いてみてくださいね!

記事を書いた人

稲垣

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

コメント

コメントする

目次