• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シートを増やすVBA)

シートを増やすVBAの実行エラー1004の解決方法と理由

このQ&Aのポイント
  • シートを増やすVBAで実行エラー1004が発生する原因や解決方法についてご教授ください。
  • VBAでシート名を増やす際に実行エラー1004が発生する場合の解決方法を教えてください。
  • シートを増やすVBAを実行すると、実行エラー1004が発生することがあります。このエラーの解決策と原因についてお教えください。

質問者が選んだベストアンサー

  • ベストアンサー
  • emaxemax
  • ベストアンサー率35% (44/124)
回答No.2

ANo1のemaxemaxです、やっぱりそうでしたか。 On Error GoTo errhandle Worksheets(h.Value).Select は、エラーとなる重複するシート名をさけるためですよね。 その場合、h.Valueが文字列であれば問題ないのですが、数値の場合、たとえば h.Valueが10だとすると Worksheets(h.Value)は、Worksheets(10)となり、左から10番目のシートという意味になってしまいます。 そうならないようにCstr関数でh.Valueをすべて文字に変えてみました。 これで数値の10は文字列化するので Worksheets("10")というシートになります。

kayomana
質問者

お礼

なるほど、ほぼ完全に理解できました ありがとうございます

その他の回答 (1)

  • emaxemax
  • ベストアンサー率35% (44/124)
回答No.1

> シート名が数字の場合におきるようです だとすれば、 On Error GoTo errhandle Worksheets(h.Value).Select これを On Error GoTo errhandle Worksheets(CStr(h.Value)).Select としたらどうなりますか?

kayomana
質問者

お礼

ありがとうございます。 こちらで試したところ、問題なくエラーが起きずに 実行完了いたしました

関連するQ&A

専門家に質問してみよう