見出し画像

フォルダ内一括処理(vba実践編)

エクセルで事務を楽にするプログラマーmoimoiです。

vbaを記載して、この処理を一発で何十件、いや何百件出来たらなあ…と思うことはありませんか?

今回はフォルダ内に入っているフォルダに対して繰り返し行う処理を行うコードをお伝えします。コピペしてそのまま使えますので、ぜひご利用ください。

フォルダ内のファイル名を取得して一覧にしたい、フォルダ内のエクセルのデータを取得して別のエクセルに転記したい、フォルダ内のエクセルやPDF等の名前を一括で変更したい等々…利用用途は様々ですが、結構役に立つのでおすすめです!

Dim Path As String
Dim FName As String
Dim buf, sOld, sNew, inputpath As String

inputpath = Application.ThisWorkbook.Path & "\"
buf = Dir(inputpath & "*.csv")

Do While buf <> ""
Workbooks.Open inputpath & buf

’フォルダ内のエクセルを開いているうちにやりたいことを記載   

ActiveWorkbook.Close SaveChanges:=False ’保存するならTrueに変更

’フォルダ内のエクセルを閉じた後にしたい処理を記載
            
buf = Dir()
Loop

こちらのコードを書いたツールと同じフォルダ内のcsvに対して繰り返すように記載しています。
空白を除いて4行目の”*csv”を任意の拡張子に変更して、やりたいことを記載のところに実際に行いたい処理を記載し、ご利用ください。

こちらのコードを利用したツールを別の記事でご紹介しています。
よろしければご利用ください。


この記事が参加している募集

#スキしてみて

525,778件

よろしければ、サポートお願いします! 頂いたサポートは、noteの運営費や新たなコード作成の開発費に充てさせていただきます。