エクセルVBA 同じ名前のシートがすでにあるとエラートラップに飛ばしたいのですがうまくいきません
こんにちは
ご教示願います
下記のようなコードがあります
Sub Macro1()
Dim n As Integer
Worksheets("Sheet1").Activate
Range("A1").Value = Month(Date)
n = Range("A1").Value
MsgBox n
Sheets.Add After:=Sheets(Sheets.Count)
Range("y1").Select
ActiveCell.Value = n & "月"
ActiveSheet.Name = Range("y1").Value
End Sub
新しいシートを最後部につくり、シート名を当月(今月なら10月)とするわけですが、
"10月"というシートがすでにあるのにコードを走らせると
「実行時エラー1004:シート名を同じにはできません~」云々のエラーが出ます
そこで、下記のように書いたのですが
Sub Macro1()
Dim n As Integer
Worksheets("Sheet1").Activate
Range("A1").Value = Month(Date)
n = Range("A1").Value
MsgBox n
Sheets.Add After:=Sheets(Sheets.Count)
Range("y1").Select
ActiveCell.Value = n & "月"
On Error GoTo Err_TestProc
ActiveSheet.Name = Range("y1").Value
Err_TestProc:
MsgBox "ひと月に2回は押せません"
Worksheets(Worksheets.Count).Select
ActiveWindow.SelectedSheets.Delete
Exit Sub
End Sub
すると、10月というシートがすでにあればうまく走ります。
ですが、エラーのないときにも何故かエラートラップ処理をしてしまいます
つまり、10月という名のシートが一枚もないにもかかわらず、
"ひと月に2回は押せません"というメッセージが出て、"10月"という名のシートを消そうとするのです
どこがおかしいのでしょうか?
正しいコードをご教示願います
よろしくお願いいたします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) VBAで、シート間の転記するコードをFOR~NEXTで教えてください。 9 2023/04/30 20:04
- Excel(エクセル) vba シートの並び替え 1 2023/04/19 13:44
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
VBAでシートコピー後、シート名が重複している時の処理
Access(アクセス)
-
VBAで同じシート名のコピー時は処理中止したいのですが・・・
Visual Basic(VBA)
-
エクセルのシート名変更で重複した時のvbaの処理
Visual Basic(VBA)
-
-
4
エクセルVBA 「On Error GoTo 0」について
Excel(エクセル)
-
5
Excelのマクロでシートを追加する際のエラー対策
Excel(エクセル)
-
6
Excel VBA シート名変更時、重複していたら連番を付けたい
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 検索して一致したセル...
-
別のシートから値を取得するとき
-
同じ作業を複数のシートに実行...
-
ユーザーフォームに入力したデ...
-
シートが保護されている状態で...
-
シートをコピーして コピーした...
-
エクセルで通し番号を入れてチ...
-
イベントの違いを教えてください。
-
ExcelVBA シート名を複数セルか...
-
VBA 存在しないシートを選...
-
コマンドボタンをクリックでシ...
-
Excel VBA マクロ あるフォルダ...
-
Excel マクロについての相談
-
特定の文字を含むシートだけマ...
-
XL:BeforeDoubleClickが動かない
-
Excelマクロのエラーを解決した...
-
エクセルのマクロについて教え...
-
エクセルVBA Ifでシート名が合...
-
vbaマクロについて シート1のA...
-
vbaでworksheetfunctionでの複...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
同じ作業を複数のシートに実行...
-
ExcelVBA シート名を複数セルか...
-
【ExcelVBA】全シートのセルの...
-
Excel マクロについての相談
-
VBA 存在しないシートを選...
-
実行時エラー'1004': WorkSheet...
-
特定の文字を含むシートだけマ...
-
ExcelのVBAのマクロで他のシー...
-
ブック名、シート名を他のモジ...
-
XL:BeforeDoubleClickが動かない
-
VBA 複数の各シートに行を追加...
-
エクセルのシート名変更で重複...
-
【Excel VBA】Worksheets().Act...
-
シートが保護されている状態で...
-
Excel VBA 複数行を数の分だけ...
-
for 文の 繰り返し処理に使える...
おすすめ情報