<スポンサーリンク>

シート名変更マクロ~重複エラー回避~データ集計業務に即したマクロVBA

マクロVBA
この記事は約3分で読めます。
コピーボタン
記事のタイトルとURLをコピー
<スポンサーリンク>

必要なところをコピーしてvbaに張り付け。もしくは、すべてをコピーしてCallで呼び出してもらえたらと思います。

スポンサーリンク

シート名を変更する際に重複した場合、名前を変更するマクロ

シート名を変更したときに名前が重複するとエラーで止まってしまうと思いますが、重複した場合、
①既存のシートを消して上書き 
or 
②新しい名前を入力して保存するコードです。

Call ChangeSheetName("AAAAAAA") で呼び出してください。
   ※”AAAAAAA”の代わりにつけたい名前を入力。

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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
コピーボタン
記事のタイトルとURLをコピー
マクロVBA
スポンサーリンク
スポンサーリンク
nujonoaをフォローする

コメント欄

<スポンサーリンク>
タイトルとURLをコピーしました