連番付きかつセルの値を参照したファイル名に変換するマクロ



バラバラのファイル名を

連番+それぞれのファイルのセルの値+任意の文言(この場合はA5の値+(見積書))に

一括で変換するマクロ。
連番をつけないと同じ名前のファイルができそうなとき用のマクロ。

コード

Sub ファイル名変換連番付き()
    Dim Path As String
    Dim FileName As String
    Dim NewfileName As String
    Dim counter As Long
   
    'マクロエクセルが保存されているフォルダのパスを取得
    Path = ThisWorkbook.Path & "\"
    
    'フォルダの中で拡張子がxlsxのファイルを取得
    FileName = Dir(Path & "*.xlsx")
    '変数に連番を入れる
    counter = 1
    
    '繰り返し処理
    Do While FileName <> ""
        
        'フォルダ内のエクセルを開く
        Workbooks.Open Path & FileName
        
        '新しいファイル名を指定
        NewfileName = Format(counter, "00") & Range("A5") & "(見積書).xlsx"
        'ファイルを閉じる
        ActiveWorkbook.Close
        '新しいファイル名に変更
        Name Path & FileName As Path & NewfileName
        'ファイルを再取得
        FileName = Dir
        '連番を変更
        counter = counter + 1
    
    '繰り返し
    Loop
    
    MsgBox "ファイル名変換完了"
End Sub

注意点

  • 新しいファイル名を指定するコードは任意のものに編集すること