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. Alt+F11でVBEを開く
  4. 標準モジュールを作成
  5. 上記コードをコピーして、貼り付ける
  6. F5 or ▶ を押して、コードを実行

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

まとめ

この前、仕事で200個ほどフォルダを作成するシーンがありました。200個のフォルダを作業で作ろうとしたら、右クリック⇒新規作成⇒フォルダ⇒フォルダ名を入力 or コピーしてようやく一つ作れます。

1つ作るのに5秒として、5 秒× 200個 = 1000秒、なんと約16分。最速で機械のようにアイドルタイムなしで16分、実際はミスの可能性もあるのでもっと時間が掛かります。

ただ、既にこの方法を知っていたので、着手からフォルダ作成まで3分もかかりませんでした。その度、手作業でフォルダを作成していた時代を思い出し、本当に「VBAを知って良かった!」と実感しています。

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

コメント