必要なところをコピーしてvbaに張り付け。もしくは、すべてをコピーしてCallで呼び出してもらえたらと思います。
シート名を変更する際に重複した場合、名前を変更するマクロ
シート名を変更したときに名前が重複するとエラーで止まってしまうと思いますが、重複した場合、
①既存のシートを消して上書き
or
②新しい名前を入力して保存するコードです。
Call ChangeSheetName("AAAAAAA") で呼び出してください。
※”AAAAAAA”の代わりにつけたい名前を入力。
Sub MAIN() Call ChangeSheetName("AAAAAAA") End Sub Public Sub ChangeSheetName(BookName As String) '名前ダブり確認 Dim ws As Worksheet, flag As Boolean Dim RC As Integer '名前を付け替えたときにまたダブっていたらループ Label100: flag = False 'ワークシートで同じ名前がないか検索 For Each ws In Worksheets If ws.Name = BookName Then flag = True Next ws '同じ名前があったら消すか確認 If flag = True Then RC = MsgBox(BookName & "が存在します。書き換えますか?", vbYesNo + vbQuestion, "確認") If RC = vbYes Then Application.DisplayAlerts = False Worksheets(BookName).Delete Application.DisplayAlerts = True Else '消さない場合は名前を入力 BookName = InputBox("名前を入力") GoTo Label100 End If End If '名前を変更 ActiveSheet.Name = BookName End Sub
コメント欄