バラバラのファイル名を
それぞれのファイルのセルの値+任意の文言(この場合は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
注意点
- 同じ名前のファイルがあるとエラーになる
- 新しいファイル名を指定するコードは任意のものに編集すること