【Excel VBA】ファイル名を取得し、一括変換する(後編)
前回の続きを書きたいと思います。
前回の投稿では、フォルダ内にあるファイル名を一気に取得するコードでしたが、今回はその取得したファイル名を指定した名称に変更するコードです。簡単ですが、メモしておきます。
Sub ファイル名変換()
Set ws = Worksheets("Sheet1")
FName = ws.Cells(4, "B") '保存先(フォルダー)のパス
LastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
For i = 5 To LastRow
Old = FName & "\" & ws.Cells(i, "A")
New = FName & "\" & ws.Cells(i, "B")
Name Old As New 'ファイル名を変更します。
Next
End Sub
↓の部分がミソですね。取得したファイル名を、指定したセル内のファイル名に変更する部分です。Nameの使い方については、私もまだまだ勉強中です。。
Name Old As New 'ファイル名を変更します。
↓こんな感じにボタンを置いて、ファイル名を取得・変換してます。
ボタン1:ファイル名を取得(前編のコードを登録)
ボタン2:ファイル名を変換(今回の後編のコードを登録)
少しでも参考になれば幸いです。VBAをガンガン使うようになったのは、本当に最近のことですが、知れば知るほど便利でいろんなことを試したくなります。
・・・とは言うものの、VBAのコードを説明するのは、普通の投稿よりも書き方がなかなか難しいですね、色々悩みます...(汗)本当はもっと順を追って、丁寧に説明して、自分の備忘録ともしたいのですが。。普段、参考にさせてもらっている様々なwebサイトで、記事を書いている方のそのすごさを実感します。
でも、あとから振り返ってみれば、「あのころはこんな書き方してたなぁ」というのが分かって良いのかもしれません。
noteとは、成長の記録にもなりますね。今後も、精進していきたいと思います。最後までお読みいただき、ありがとうございました。
この記事が気に入ったらサポートをしてみませんか?