ファイル名を一つずつ手作業で変更するのは面倒…
大量のファイルをリネームする作業に時間を取られてしまう…
ファイル名変更の効率化にも、VBAを使ったファイル名の一括変更マクロはとても役に立ちます。エクセルの機能であるVBAですが、ファイル名の効率化も可能です。
今回紹介するVBAは、フォルダ内のファイル名を一括で取得し、Excel上で変更を行うものです。リストを編集するだけで簡単にリネームできるので、手作業の手間を大幅に削減できます。それぞれの環境で使用できるようにコードも作成しているので、コピペするだけで使うことができます。
また、このブログではVBAを活用した業務効率化の方法を多数紹介しています。AI活用や自動化に興味がある方も、ぜひ他の記事をチェックしてみてください!
コピペで使えるファイル名変更VBA
エクセルVBAを使って、フォルダ内のファイル名を一括変更する方法を紹介します。今回は2種類のマクロを使用します。
①指定フォルダにあるファイル名をエクセルに書き込む
②ファイル名をエクセルで書いた名称に変更
使い方については後ほど、詳しく説明します。
①フォルダ内のファイル名を取得するVBA
「指定フォルダにあるファイル名をエクセルに書き込む」動作を行うVBAになります。
Sub CopyFileNames()
Dim folderPath As String, fileName As String
Dim ws As Worksheet, fileCell As Range
Set ws = ThisWorkbook.Sheets(ActiveSheet.Name)
ws.Cells.ClearContents
ws.Range("A1").Select
ws.Range("A2") = "対象フォルダ"
ws.Range("A3:B3") = Array("変更前ファイル名", "変更後ファイル名")
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then
folderPath = .SelectedItems(1)
Else
Exit Sub
End If
End With
ws.Range("B2") = folderPath
Set fileCell = ws.Range("A4")
fileName = Dir(folderPath & "\*.*")
Do While fileName <> ""
fileCell.Value = fileName
fileCell.Offset(0, 1).Value = fileName
Set fileCell = fileCell.Offset(1, 0)
fileName = Dir
Loop
MsgBox "変更したいファイル名をB列に記載してください。"
End Sub
※当サイトで紹介している他のコピペコードは、コチラにまとめています!
②ファイル名を一括変更するVBA
「ファイル名をエクセルで書いた名称に変更」するVBAです。
Sub Change_name()
Dim Result As VbMsgBoxResult
Dim folderPath As String
Dim fileCell As Range
Dim ws As Worksheet
Result = MsgBox("実行しますか?※処理後は戻せません", vbQuestion + vbYesNo, "確認")
If Result <> vbYes Then Exit Sub
Set ws = ThisWorkbook.Sheets(ActiveSheet.Name)
folderPath = ws.Range("B2").Value
For Each fileCell In ws.Range("A4:A" & ws.Cells(Rows.Count, "A").End(xlUp).Row)
If Len(Dir(folderPath & "\" & fileCell.Value)) > 0 Then
Name folderPath & "\" & fileCell.Value As folderPath & "\" & fileCell.Offset(0, 1).Value
End If
Next fileCell
MsgBox "完了しました"
End Sub
※当サイトで紹介している他のコピペコードは、コチラにまとめています!
エクセルファイルのダウンロード
VBAが分からないという方向けに、VBAが入ったエクセルファイルも用意しました。このエクセルを実行するだけで、ファイル名の一括変更ができます。
こちらはNoteにて販売しています。すぐに使いたい方はこちらを活用してください。
マクロの使い方について
今回のマクロは、以下の手順で使用します。なお、それぞれの実行前に「実行しますか?」というメッセージと、「完了しました」というメッセージが表示されます。説明では省略していますが、「OK」を押してください。
①「①フォルダ内のファイル名を取得」VBAを実行
①のVBA(エクセルファイルでは「①ファイル取得」ボタン)を実行します。フォルダ選択画面が出てくるので、フォルダを選択してください。
フォルダを選択するとファイル名がA列とB列に出力されます。
② B列に変更したいファイル名を入力
変更したいファイル名をB列に書き込みます。この時、拡張子(今回の場合「.pdf」)も忘れずにつけるようにしてください。
③ 「ファイル名を変更」VBAを実行
②のVBA(エクセルファイルでは「①名称変更」ボタン)を実行し、ファイル名が変更となります。
業務効率化におすすめ書籍『9選』はコチラから!
VBAの埋め込み、ボタンの挿入について
VBAの埋め込み
エクセルの「開発」タブから「Visual Basic」エディタを開きます。そしてVBAコードを「標準モジュール」に貼り付けます。
「開発」を出す設定やコードの書き方は、VBAの基礎まとめのページで詳しく解説しています。こちらの記事もぜひ参考にしてみてください。
ボタンの挿入
ボタンをつけることで、クリックだけでマクロを実行できるようになります。
このブログでは、初期化ボタンの紹介として、ボタンについても解説しているので、参考にしてみてください。
さいごに
VBAはエクセルだけの機能と思われがちですが、ほかのサービスとの連携でも力を発揮します。今回紹介したファイル名の変更以外にも、CSVの取り込みやOutlookとの連携など、大体のPC業務はVBAで効率化が可能です
今回紹介したようなVBAスキルは、一度身につければ一生使える武器となります。コピペも便利ですが、本で体系的に学ぶことで「自分でコードを書く力」を短期間で身につけられます。
以下の記事では、Kindle Unlimited(読み放題)で無料で読めるおすすめのVBA書籍を厳選して紹介しています。生成AIを前提とした、今までとは全く違ったVBA学習法も紹介しているので、是非チェックしてみてください!

