ワークシート名を変更するとマクロを書き換えないといけないか?

Question 33.2   Previous Next
うまく説明できないのですが、
たとえば、sheets("sheets20").select←の "sheet20"のシート名を、"マクロ"という名前に変更した場合など、いちいちマクロは書き換えなければいけないのでしょうか?
Excel2000を使っています。
Answer   Copyright (C) 2000.10.26 永井善王
ワークシート名の指定方法は、Excel97で改良されて便利になりました。どのように改良されたのでしょうか。

特定のワークシートを指定する場合、従来どおり、各ワークシートに付けた「シート名」で指定する方法のほかに、各ワークシートに与えられている「オブジェクト名」で指定する方法が可能になりました。
質問の例で書いてみると、次のとおりです。

従来どおりの書き方
    Sheets("Sheet20").Select
Excel97以上の書き方
    Sheets20.Select
オブジェクト名は右図のように、プロジェクトエクスプローラで確認できます。VBE画面にしたのに表示されない場合は、[ツール]-[プロジェクトエクスプローラ]とクリックします。右図では、オブジェクト名「Sheet2」のシート名が「マクロ」になっています。
当然、Excel画面のシートタブは左図のようになっています。オブジェクト名は、「マクロ」というシート名をほかの名前に変更しても変わりません。 Excel97以上の書き方は、このオブジェクト名を指定して Select することになります。
よって、新しい書き方をしておけば、いちいちマクロを書き換える必要はないと言えるでしょう。

 

Excel VBA Macro