もりさんのプログラミング手帳

教えることは、二度学ぶこと

スポンサーリンク

【ExcelVBA】Windowsのフォルダを一括作成するマクロ

会社の定例業務でWindowsフォルダの一括作成をする場合、一括で作成できるツールがあると便利ですよね。

今日の記事では、フォルダの一括作成マクロを紹介します。

f:id:excel-accounting:20180419155223p:plain:w500

事前準備

Excelシート上でこのように準備をします。

f:id:excel-accounting:20180305222625p:plain

・A2セルに作成フォルダの上位パスを入力
・B2セルから下に作成したいフォルダ名を記載

ソースコード

Sub フォルダ一括作成()

    Dim Path As String '作成予定フォルダの上位パス
    Path = Range("A2").Value
    
    Dim i As Long 'フォルダ数カウンタ
    
    For i = 2 To Range("B2").End(xlDown).Row
    
        Dim FolderName As String '作成するフォルダ名
        FolderName = Cells(i, 2).Value
        
        Dim NewDirPath As String '作成予定のフォルダパス
        NewDirPath = Path & "\" & FolderName
        
        '作成予定フォルダと同名のフォルダの存在有無を確認し、存在しない場合フォルダ作成
        If Dir(NewDirPath, vbDirectory) = "" Then
            MkDir Path & "\" & FolderName
        Else
            MsgBox "フォルダ名:[" & FolderName & "]はすでに存在するためスキップします"
        End If
    
    Next i
    
        MsgBox "終了しました。"

End Sub

ポイント解説

①For i = 2 To Range("B2").End(xlDown).Rowで、B2セルから下方向にセルを検索して、フォルダ名の記載がある分だけ作成します。

②フォルダ作成前チェックとして、Dir関数を使用して同名フォルダの存在有無をチェックしています。


Windowsの標準機能だけでもフォルダ一括作成ができるので、ぜひこちらの記事もご覧ください!

スポンサーリンク