※ ChatGPTを利用し、要約された質問です(原文:マクロ実行時のエラー処理について)
VBAでのエラー処理方法とは?Excelシートの名前を変更する方法
2009/11/26 18:37
このQ&Aのポイント
VBAを使用してExcelでシートの名前を変更する方法について説明します。エラーが発生した場合は、On Errorステートメントを使用して適切な処理を行います。
エクセル2007を使用している場合、VBAを使ってシートの名前を変更する方法を教えてください。エラーが発生した場合にどうすればいいかも知りたいです。
VBAのエラー処理について質問があります。Excelでシートの名前を変更する方法を教えてください。エラーが発生した場合、どのように処理すれば良いですか?
VBAのエラー処理の方法について教えて下さい。
エクセル2007を使用しています。
VBAでシートの名前を以下のように変更しようとしています。
シート名1 ← "1"
シート名2 ← "2"
シート名3 ← "3"
記述内容は以下の通りです。
'〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
On Error GoTo Err1
For i = 1 to 3
Sheet(i).Name = i 'Sheet(i)の名前を変数"i"に変更する。
Err1:
Sheet(i).Delete '上記処理でエラーが発生した場合はそのシートを削除する。
Next i
'〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
以上の処理を実行しようとした場合、同じ名前の既存シートが存在していたり、シート名に含まれてはいけない文字列が含まれていたりした場合、エラーが発生しますが、On Errorステートメントを使用してエラーが発生した場合の処理を実行したいのですが、1回目のエラーについてはOn Errorが働くのですが、2回目になるとOn Errorが働きません。
2回目以降のエラーも1回目と同様に処理したいのですが、コードの記述の変更方法や又は他の処理方法を教えて下さい。
エラーの種類は以下の通りです。
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
実行時エラー'1004':
シートの名前をほかのシート、Visual Basicで参照されるオブジェクト ライブラリまたは
ワークシートを同じ名前に変更することはできません。
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
以上。
尚、On Error Resume Nextは処理を無視するだけなので使用したくありません。
以上、宜しくお願い致します。
質問の原文を閉じる
質問の原文を表示する
お礼
使い方次第ですね。 まだVBAはまだ使い始めたばかりなのでこれからも勉強したいと思います。 本当に有難う御座います。