- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シートを増やすVBA)
シートを増やすVBAの実行エラー1004の解決方法と理由
このQ&Aのポイント
- シートを増やすVBAで実行エラー1004が発生する原因や解決方法についてご教授ください。
- VBAでシート名を増やす際に実行エラー1004が発生する場合の解決方法を教えてください。
- シートを増やすVBAを実行すると、実行エラー1004が発生することがあります。このエラーの解決策と原因についてお教えください。
- みんなの回答 (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")というシートになります。
その他の回答 (1)
- emaxemax
- ベストアンサー率35% (44/124)
回答No.1
> シート名が数字の場合におきるようです だとすれば、 On Error GoTo errhandle Worksheets(h.Value).Select これを On Error GoTo errhandle Worksheets(CStr(h.Value)).Select としたらどうなりますか?
質問者
お礼
ありがとうございます。 こちらで試したところ、問題なくエラーが起きずに 実行完了いたしました
お礼
なるほど、ほぼ完全に理解できました ありがとうございます