【VBA】ワークシートの選択方法と書き方

VBAでワークシート選択する際に
いくつか方法があります!

最近使い分ける場面があったので
備忘録として残しておこうと思います!

エクセルシートをインデックスで指定

左から何番目(インデックス)のシートか?でシート指定。

マクロ実行しているシートをインデックスで指定する場合

これは一番左のシートを指定しています。

注意
シートの順番が変わるとインデックスも変更が必要

ですので確実にシートの順番を変えない!
という前提で使うといいと思います!

エクセルシートを名前で指定

その名の通りシート名でシートを指定。

マクロ実行しているシートをインデックスで指定する場合

これは「Sheet1」という名前のシートを指定しています。

注意
シートの名前が変わると指定した名前も変更が必要

ですのでシート名を変えない!
という前提で使うといいと思います!

エクセルシートをオブジェクト名で指定

社内の他の開発者のコードを見て発見!
僕はコレをお勧めします!

シートのオブジェクト名を上図の様に変更してみます!

もともと
・オブジェクト名:Sheet1
・シート名:Sheet1

だったので

・オブジェクト名:sht1
と変更しました!

そうするとこのシートの指定は「sht1」で直接表せます!

例えばこのシートのA1セルの値を取得する場合

ポイント
シートの順番・名前の変更に影響されない

今のところこの方法で開発する事が多いです!

是非参考にしてみてください!