VBA コピペで使える!好きな場所にフォルダを一括で作成するコード

この記事は約3分で読めます。

どうもマサヤです!

「このフォルダ配下に一括でフォルダを作成したい!」

そんな、あなたと私のためにコピペで使えるコードを紹介します!

※結構、使うので手間を減らすためにコピペして使えるようにしました。

 

スポンサーリンク

任意フォルダにフォルダを一括で作成するコード

 

取得したファイル一覧をセルに出力しています。

Sub createFolder()

Set fso = CreateObject("Scripting.FileSystemObject")

baseUrl = Cells(2, 2)

i = 4
'空白になるまでフォルダ作成を実行
Do Until Cells(i, 2) = ""
    'すでに同じ名前のフォルダがあれば作成せずに、次のフォルダ作成へ
    If Not fso.FolderExists(baseUrl & "\" & Cells(i, 2)) Then
        fso.createFolder baseUrl & "\" & Cells(i, 2)
    End If
    i = i + 1
Loop

MsgBox "フォルダ作成完了"

End Sub

 

実行結果イメージ【動画】

実行結果は下記の動画のようになります。

 

フォルダ作成手順

手順といっても、5ステップで簡単です。

  1. フォルダを作成したい場所を「B2セル」に入力
  2. 一括で作成したいフォルダ名をB列4行目以降に入力
  3. VBEをAlt+F11で開く。
  4. 標準モジュールを作成して
  5. 上記のコードをコピーして、貼り付ける。
  6. F5 or ▶ を押して、コードを実行

※VBE起動からコードコピーの流れこちらで確認できます。(別コードをコピーしていますが操作は一緒です)

 

まとめ

 

この前、仕事で200個ほどフォルダを作成するシーンがありました。

200個のフォルダを作業で作ろうとしたら、右クリック⇒新規作成⇒フォルダ⇒フォルダ名を入力 or コピーしてようやく一つ作れます。1つ作るのに5秒として、5 秒× 200個 = 1000秒、なんと約16分。

最速で機械のようにアイドルタイムなしで16分、実際はミスの可能性もあるので実際はもっとかかります・・・

 

ただ、既にこの方法を私は知っていたので、着手からフォルダ作成まで3分もかかりませんでした。

その度に手作業でフォルダを作成していた時代を思い出し、本当にマクロを知ってよかった!と実感しています。

あたなもフォルダ作成といった単純作業に苦しんでいるなら、ぜひこの方法をお試しください!

コメント