セルの値を参照してファイル名を一括変換するマクロ



バラバラのファイル名を

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

一括で変換するマクロ

コード

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

注意点

  • 同じ名前のファイルがあるとエラーになる
  • 新しいファイル名を指定するコードは任意のものに編集すること