非プログラマーでもOK!業務の自動化

【Excel VBA】階層化されたフォルダを作成するマクロ

効率的なフォルダ管理には、フォルダ構成のテンプレート化が便利。

テンプレート化したフォルダは、Excel VBAで自動作成が可能です。

この記事では

【指定したフォルダに階層化したフォルダを一括で作成する】Excel VBAのコードの紹介と解説をしています。

\自分の本当の年収がわかる/

▲無料登録後もお金は一切かかりません▲

目次

フォルダ構成のテンプレートを作成する

仕事を効率的に進めるには、情報の管理が大事です。

情報をキチンと管理するには、フォルダ内がしっかり整理されている必要があります。

フォルダ管理の具体的な方法は、フォルダ構成とフォルダ/ファイル名のルールを決めて運用することです。

フォルダ管理のルールを決めて、フォルダ構成のテンプレートを作成すると、フォルダ管理が効率化できます。

テンプレート化したフォルダの作成は、ExcelのVBAコードで自動化できます。

階層化したフォルダを作成するExcel VBAのコード

以下のExcel VBAのコードを実行すると、【階層化したフォルダを一括作成】でsきます。

作成したいフォルダ数に応じて、コードを追加/削除してください。

階層化したフォルダを作成するExcel VBAのコード

  • フォルダを作成する場所を設定するコード
  • 一階層目のフォルダ名を設定するコード
  • 一階層目のフォルダを作成するコード
  • 二階層目のフォルダ名を設定(1つ目)と作成するコード
  • 二階層目のフォルダ名を設定(2つ目)と作成するコード
  • 二階層目のフォルダ名を設定(3つ目)と作成するコード
  • 二階層目のフォルダ名を設定(4つ目)と作成するコード
  • フォルダ作成完了のメッセージを表示するコード
Sub CreateFolders()

    Dim baseDir As String
    Dim folder1 As String
    Dim folder2_1 As String
    Dim folder2_2 As String
    Dim folder2_3 As String
    Dim folder2_4 As String
    
    baseDir = "C:\"
    
    folder1 = baseDir & "階層1フォルダ\"
    folder2_1 = folder1 & "階層2_1\"
    folder2_2 = folder1 & "階層2_2\"
    folder2_3 = folder1 & "階層2_3\"
    folder2_4 = folder1 & "階層2_4\"
    
    If Dir(folder1, vbDirectory) = "" Then
        MkDir folder1
    End If
    
    If Dir(folder2_1, vbDirectory) = "" Then
        MkDir folder2_1
    End If
    
    If Dir(folder2_2, vbDirectory) = "" Then
        MkDir folder2_2
    End If
    
    If Dir(folder2_3, vbDirectory) = "" Then
        MkDir folder2_3
    End If
    
    If Dir(folder2_4, vbDirectory) = "" Then
        MkDir folder2_4
    End If

    MsgBox "フォルダが作成されました", vbInformation, "完了"

End Sub

以下より、各コードの解説とコードを利用する際に変更する場所を記載していきます。

フォルダを作成する場所を設定するコード

ここで新規に作成するフォルダの親となるディレクトリの場所を指定します。

    Dim baseDir As String
    baseDir = "C:\\"

C:\の部分を、フォルダを保存したい場所のパスに書き換えてください。

C:\

一階層目のフォルダ名を設定するコード

ここでは、「階層1フォルダ」の名前を設定します。

    Dim folder1 As String
    folder1 = baseDir & "階層1フォルダ\\"

文字列”「階層1フォルダ」”部分を、作成したいフォルダの名前に書き換えてください。

階層1フォルダ

一階層目のフォルダを作成するコード

ここでは、「階層1フォルダ」を作成するコードです。

    If Dir(folder1, vbDirectory) = "" Then
        MkDir folder1
    End If

二階層目のフォルダ名を設定(1つ目)と作成するコード

ここでは、「階層1フォルダ」の下に作成する「階層2_1」フォルダの名前を設定します。

    Dim folder2_1 As String
    folder2_1 = folder1 & "階層2_1\\"

    If Dir(folder2_1, vbDirectory) = "" Then
        MkDir folder2_1
    End If

文字列”「階層2_1」”部分を、作成したいサブフォルダの名前に書き換えてください。

二階層目のフォルダ名を設定(2つ目)と作成するコード

ここでも同様に、「階層1フォルダ」の下に作成する「階層2_2」フォルダの名前を設定します。

    Dim folder2_2 As String
    folder2_2 = folder1 & "階層2_2\\"

    If Dir(folder2_2, vbDirectory) = "" Then
        MkDir folder2_2
    End If

文字列”「階層2_2」”部分を、作成したいサブフォルダの名前に書き換えてください。

階層2_2

二階層目のフォルダ名を設定(3つ目)と作成するコード

ここでも同様に、「階層1フォルダ」の下に作成する「階層2_3」フォルダの名前を設定します。

    Dim folder2_3 As String
    folder2_3 = folder1 & "階層2_3\\"

    If Dir(folder2_3, vbDirectory) = "" Then
        MkDir folder2_3
    End If

文字列”「階層2_3」”部分を、作成したいサブフォルダの名前に書き換えてください。

階層2_3

二階層目のフォルダ名を設定(4つ目)と作成するコード

ここでも同様に、「階層1フォルダ」の下に作成する「階層2_4」フォルダの名前を設定します。

    Dim folder2_4 As String
    folder2_4 = folder1 & "階層2_4\\"

    If Dir(folder2_4, vbDirectory) = "" Then
        MkDir folder2_4
    End If

文字列”「階層2_4」”部分を、作成したいサブフォルダの名前に書き換えてください。

階層2_4

フォルダ作成完了のメッセージを表示するコード

フォルダが作成できたら、メッセージを出力するようするコードです。

不要な場合は、以下のコードを削除してください。

    MsgBox "フォルダが作成されました", vbInformation, "完了"

フォルダのテンプレートの作成方法

フォルダのテンプレート構成を作成するには、①業務マニュアルを作成して、②業務を棚卸して、③必要なフォルダをピックアップします。

フォルダのテンプレートの作成方法

  • 業務マニュアルを作成
  • 業務を棚卸
  • 必要なフォルダのピックアップ

マニュアル作成の方法とコツについては、以下の投稿をご覧ください。

まとめ:Excel VBAでフォルダ作成の自動化

Excel VBAでフォルダ作成を自動化する方法でした。

ルーティンワークはどんどん自動化して、業務効率をアップさせましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次