통합 문서의 시트 이름을 대량으로 대체하는 엑셀 VBA

통합 문서의 시트 이름을 대량으로 대체하는 엑셀 VBA를 소개합니다.

다음 샘플 코드를 사용하면,

  • 파일 열기 대화 상자를 표시합니다.

  • 시트 이름을 대량으로 바꾸고 싶은 엑셀 북을 선택.

  • 엑셀북에 포함된 모든 시트명을 일괄로 치환한다.

  • 라는 작업을 자동화합니다.

    조작방법


    1,
    책의 시트 이름을 가져와 목록을 만드는 엑셀 VBA 을 실행하여 시트 이름을 가져옵니다.


    2,
    「시트명 일람」의 「시트명(변경 후)」에 희망 시트명을 입력.


    3,
    아래의 샘플 코드를 포함한 엑셀 파일을 열고 →「개발」→「매크로」의 순서로 클릭.
    A 시트 이름 바꾸기 → 실행을 클릭합니다.


    4,
    파일 열기 대화 상자가 표시되므로 시트 이름을 바꿀 원하는 엑셀 북을 클릭하고 열기를 클릭합니다.


    5,
    매크로가 실행됩니다.
    시트 이름 목록 이외의 시트 이름을 대량으로 바꿉니다.


    완료입니다.

    샘플 코드

    Sub Aファイルを開く()
        Dim OpenFileName As String
    
    OpenFileName = Application.GetOpenFilename("Excelファイル,*.xls*")
    
    If OpenFileName = "False" Then
    
        MsgBox "キャンセルされました。処理を終了します。"
    
        End
    
    Else
        Workbooks.Open OpenFileName
    
    End If
    
    
    End Sub
    Sub Aシート名置換()
        Dim ws As Worksheet
        Dim row, col As Long
        Dim wsNames As Collection
        Dim sh As Variant, flag As Boolean
    
    Set wsNames = New Collection
    
    Call Aファイルを開く
    
    '画面更新停止
    Application.ScreenUpdating = False
    
    '確認ダイアログ停止
    Application.DisplayAlerts = False
    
    For Each sh In Sheets
        If sh.Name = "シート名一覧" Then
            flag = True
            Exit For
        End If
    Next sh
    
    If flag = True Then
    
        Worksheets("シート名一覧").Select
        Range(Range("A2"), Cells(Rows.Count, 2).End(xlUp)).Select
    
        row = Selection.row
        col = Selection.Column
    
        Do While Not IsEmpty(Cells(row, col))
            ' KeyがStrig型でないと「型が一致しません」というエラーになる
            wsNames.Add Item:=Cells(row, col + 1).Value, _
                         Key:=CStr(Cells(row, col).Value)
            row = row + 1
        Loop
    
    For Each ws In ActiveWorkbook.Worksheets
        On Error Resume Next
        ws.Name = wsNames.Item(ws.Name)
    Next
    
    
    Else
    
        'メッセージ表示
        MsgBox "シート「シート名一覧」はありません。" & Chr(13) & "先に「シート名取得」を実行して下さい。" & Chr(13) & "処理を終了します"
    
    ActiveWindow.Close
    
    End If
    
    '画面表示ON
    Application.ScreenUpdating = False
    
    
    End Sub
    
    

    코드의 특징



  • 파일 열기 대화상자를 표시한 후 취소를 클릭하면,
    취소 처리되는 것에 대응하고 있습니다.


  • 책의 시트 이름을 가져와 목록을 만드는 엑셀 VBA 와 연동 가능하도록 하고 있습니다.
  • 좋은 웹페이지 즐겨찾기