![見出し画像](https://assets.st-note.com/production/uploads/images/158827040/rectangle_large_type_2_7db665dba36b435171e1a13d48b38324.jpeg?width=1200)
EXCEL VBA 初心者講習 第8回目
目次
1.VBAで定義されているオブジェクト名
2.特殊なデータ型を利用した変数定義と使い方
3.ワンステップアップしたプログラミング
1.VBAで定義されているオブジェクト名
VBAに関する解説サイトを見ていると下記のようなオブジェクト名が記載されていることがあります。
それが【 Thisworkbook 】です。
これはVBAプログラムを実行しているEXCELファイル(ブック)のことを意味するものです。
使用例は以下の通りです。
Thisworkbook.Worksheets("売上管理").Range("A6").Value
現在、開いているEXCELファイルが1つの場合、省略して記述されていることが多く見受けられます。省略した場合でも上記記載と同じ意味を持ちます
Worksheets("売上管理").Range("A6").Value
Thisworkbookで使われるプロパティとメソッドを一部紹介しておきます。
プロパティ
Name: EXCELのファイル名(ブック名)を取得します
▶ Thisworkbook.name
Path : ブックの保存先パス(ドライブ名+フォルダー名)を取得します
▶ Thisworkbook.Path
Sheets: シートコレクション(ブック内にあるシート情報)を取得します
▶ Thisworkbook.Sheets
メソッド(オブジェクトに対する操作)
Save:ブックを新規保存、または、上書き保存します
▶ Thisworkbook.Save
Close:ブックを閉じます
▶ Thisworkbook.Close
Activate:シートやセルをアクティブ(切り替える)にします
▶ Thisworkbook.Worksheet("Sheet2").Active
Delete:オブジェクトを削除します
▶ Thisworkbook.Worksheets("Sheet2").Delete
※ このような特殊なオブジェクトがあることだけを知っておいてください
2.特殊なデータ型を利用した変数定義と使い方
初心者講習 第5回目で紹介した変数の定義とデータ型にあった特殊なデータ型について説明します。
データ型:Worksheet
変数で定義して使用します。
Dim sheetName as Worksheet
Set sheetName = Thisworkbook.Worksheets("売上管理")
このように特殊なデータ型の変数に対しては【Set】を付けて情報を受け渡す必要があります。
このようにSetを付け忘れるとプログラムを実行した際、VBAから以下のようなエラーメッセージが表示されます。ご注意ください。
sheetName = Thisworkbook.Worksheets("売上管理")
![](https://assets.st-note.com/img/1729511759-tVSP7ugiqGFhTmzoDHwxY1N9.jpg?width=1200)
3.ワンステップアップしたプログラミング
特殊なデータ型:Woksheetを使って売上管理プログラムを修正してみます。
![](https://assets.st-note.com/img/1729512647-CuIlAsnkWbaUpfZhgQJXBFi9.jpg?width=1200)
変数にsheetNameをWorksheet型で設定
設定した変数にワークシートの情報をセットしています。
これにより、以下のコーディングでは変数名をしてすることでプログラムの見た目がスッキリしました。
また、シート名を変更する際には1ケ所だけの修正で良いことからプログラミングの作業効率も向上します。
この手法に慣れて頂き、このようなプログラミング作成を習慣つけてください。
その他の特殊なデータ型については必要となった時点で解説致します。
以上で、初心者講習 第8回目は終了です。お疲れ様でした!!
次回は入力されているデータの最終行を取得するプログラムについて解説します。
いいなと思ったら応援しよう!
![Toma Kamijyo](https://assets.st-note.com/production/uploads/images/158128544/profile_0d546b0caee175aa1c1cecbc02910153.jpg?width=600&crop=1:1,smart)