Excel VBA(マクロ)でフォルダを作成する方法
ExcelのVBA(マクロ)を勉強していたり、データを加工していたりするとフォルダを作りたいときってありませんか?
VBA(マクロ)でフォルダ作成は可能です。
フォルダ作成ができるようになると、会社別で分けたり、月別で分けたり、わかりやすく整理ができるようになります。
それでは、VBA(マクロ)でフォルダを作成する方法を解説します。
自動化を目指している人は、ぜひこれを機に覚えていってください。
Excel VBA(マクロ)でフォルダを作成する方法
Mac用はこちら
1Sub dir()
2
3 MkDir ThisWorkbook.Path & "\フォルダ名"
4
5End Sub
「MkDir」を使うことでフォルダを作ることができます。
MkDirのあとにフォルダを作る場所と、フォルダ名を指定しなければいけません。
「ThisWorkBook.Path」は、VBAが書かれているファイルの場所を取得してくるので、合わせて使っています。
もし、指定の場所があれば「C:\フォルダ名」のようにフル(すべて)書いてください。
※Macの場合:「/Users/ユーザ名」からはじまります
Excel VBA(マクロ)でループを使ってフォルダを複数個作る方法
フォルダを作るときも、ループ(ForやDo While)を使えば自動で複数個のフォルダを作成できます。
自動化には必須なのがループですね。
では、どうやってやるのでしょうか?
Sampleとして1月から12月のフォルダを作るコードを紹介します。
1 Sub dir()
2
3 For Month = 1 To 12
4 MkDir ThisWorkbook.Path & "\" & Month & "月"
5 Next
6
7 End Sub
For文で12回ループさせるようにし、フォルダ名に月の数字が入るようにすると1月から12月までのフォルダが作成できます。
このとき、ForやDo Whileを使わずに、MkDirを12回書いて終わらせようとする人もいますが、ループはプログラムの基本なのでしっかり使っていきましょう。
もう一つおまけでSampleとして、セルのA1からA12までに入っている文字をフォルダ名として使うコードを紹介します。
1 Sub dir()
2
3 For Month = 1 To 12
4 mm = ThisWorkbook.Worksheets("Sheet1").Cells(Month, 1)
5 MkDir ThisWorkbook.Path & "\" & mm & "月"
6 Next
7
8 End Sub
ループがよくわからないよって方は、詳しく解説しているのでこちらをご覧ください。
Excel VBA(マクロ)でフォルダを作成できたほうがいい理由
ここでは、VBA(マクロ)でフォルダを作成できたほうがいい理由を解説します。
- ファイルを、会社や月ごとにキレイに整理できる
- 自動化されたルーティンの中に組み込みできる
- VBAでできることがExcelより一歩外になる
Excelで作る請求書、納品書、会社ごとに分けたほうが見やすいし、わかりやすいですよね。
フォルダがあるとキレイに整理整頓できるので、そこをVBAに組み込んでしまいましょう。
また、フォルダを扱えるようになるので、Excelより一歩外のことができるようになります。
VBAはExcelの中だけで終わってしまいそうですが、実はそうではありません。
ぜひこれを機にフォルダの作成まで覚えましょう。
Excel VBAを勉強するなら「できる大辞典」がおすすめです。
辞書なのでピンポイントで学ぶことができます。大学時代、2016年版を購入して勉強していましたが相当使いました。
ネットだけでも勉強はできますが、本を読みながらVBAを勉強したい方は購入してください。