[Excel / VBA] Worksheets(i)という記述で「インデックスが有効な範囲にありません。」というエラーが出る原因

Excel

シート名を数字にして、For文を使ってカウンターiを使ってマクロを作っていたのですが、Worksheets(i)という記述で「インデックスが有効は範囲にありません。」というエラーが出ました。コードは間違っていないはず…。

ネットで調べてみて、エラーの原因がわかりました。Worksheets(1)のように記述すると、1枚目のシートとして認識されるようでした。今回は、Worksheet(0)でシートの0枚目を指定しているためにエラーが発生していました。0枚目なんてないです。

では、どうやってこのエラーを回避するかというと、Worksheets(CStr(i))のようにして文字列に変換すれば良いです。

広告