
100個以上のフォルダ作成が1秒以内に終わります♪

Option Explicit
Sub FolderIkkatsu()
Application.ScreenUpdating = False
Dim i
For i = 2 To 141
'1階層目のフォルダ
MkDir ThisWorkbook.Path & "\" & Cells(i, 1).Value
'2階層目のフォルダ
MkDir ThisWorkbook.Path & "\" & Cells(i, 1).Value & "\" & Cells(i, 2).Value
Next
End Sub
▼ ダウンロードはこちら ▼
応用すれば、3階層~4階層~も可能。
エクセルVBAによる【フォルダ作成プロシージャ】をご紹介します。
2階層の大量フォルダを一括作成するコードも書きましたので、ぜひ参考にされてみてくださいね。
猫の手も借りたい人は、エクセルマクロで超面倒なフォルダ作成を自動化しましょう!!
VBAで大量フォルダを一括作成してみよう!!
Option Explicit
Sub FolderIkkatsu()
Application.ScreenUpdating = False
Dim i
For i = 2 To 141
MkDir ThisWorkbook.Path & "\" & Cells(i, 1).Value
Next
End Sub
↑上のように、10行足らずのコードで大量のフォルダを一括でつくることができます。
試しに、実際のわたしの作業風景を画像でお伝えしますと、
まずは、作りたいフォルダ名のリストをエクセルシートに入力。

(2列目の「英語名」は2階層目のフォルダ作成用ですので、ここでは無視してください。)
そして、
Dim i
For i = 2 To 141
MkDir ThisWorkbook.Path & "\" & Cells(i, 1).Value
↑このコードによって、1列目に入力された【台風の名前リスト】をフォルダ名として、フォルダの一括作成に適用されます。
典型的なFor文ループによって、エクセルシートの1列目からフォルダ名を読み取り、「MkDir」でフォルダを自動作成してくれる感じですね。
つまり、あなたが生成したいフォルダの1階層目をエクセルシートの1列目に入力しておけばOKなワケですね。

今回のわたしの例では、台風の名前リストを1階層目のフォルダにしてみました。
あとは、「F5」キーをVBEの画面で押せば、


↑このようにサクッと一括でフォルダが作成できます。
ただし、
MkDir ThisWorkbook.Path & "\" & Cells(i, 1).Value
↑このコードにあります通り、フォルダを作成したいディレクトリにエクセルファイルを事前に移動した状態で実行しましょう。

↑今回のVBAコードでは、エクセルファイルが置かれている場所にて、新たなフォルダが作成されるコードです。
なので、お目当ての場所にエクセルファイルを置いてから、VBAマクロを実行してください。
大量の2階層フォルダもエクセルVBAで一括作成!!

一方で、先ほども書きましたが、エクセルシートの2列目が2階層目のフォルダとなります。
2階層目のフォルダ作成も、1階層目と同じく、

↑このように、
- 1列目が1階層目のフォルダ名
- 2列目が2階層目のフォルダ名
という設定をしておけばOK。
2階層目も含んだVBAのコードは、
Option Explicit
Sub FolderIkkatsu()
Application.ScreenUpdating = False
Dim i
For i = 2 To 141
MkDir ThisWorkbook.Path & "\" & Cells(i, 1).Value
MkDir ThisWorkbook.Path & "\" & Cells(i, 1).Value & "\" & Cells(i, 2).Value
Next
End Sub
となります。
1階層目のコードを基に、2階層目のコードを簡単につくることができます。
さらに、3階層目、4階層目・・・と増やしたいケースでは、
- エクセルシートの3列目、4列目~を入力しておく。
- そして、VBAのコードも1列目⇒2列目と増やしたのと同じ方法で、3列目~4列目のコードも同様に増やす。
という風にシンプルな修正のみで、階層を意識しながら大量のフォルダを作成できるでしょう。
また、本来ならば、
- 「2階層目のフォルダを作成する前に、1階層目のフォルダがあるかどうか??」
- 「エクセルファイルを置いた位置に関係なく、よりスマートにファイルパスを指定したい!!」
など、環境テストやユーティリティが必要不可欠でしょう。
しかし、本記事ではそういった部分はカットして、「とりあえず動けばOK」という段階で解説をしてきました。
今後、「1階層目フォルダの有無チェック」などの追加仕様は、この記事か、別の記事にて書いていきます。
(乞うご期待。)
また、【バッチファイルを利用した方法】もこちらで解説しています。

\Share Mie/
もしよかったら
応援よろしくお願いします^^