【VBAスキル】エクセルを使って大量のフォルダを一括作成 !

f:id:yshgs_elec:20200612221636j:plain

「データを仕分けするために大量のフォルダを作成しないといけない。でもひとつづつ作成して名前を変えるのはものずごく時間がかかりそうだ。」

 

この記事ではこんな悩みを解決します。

 

意外と知られていないのですが、エクセルでフォルダを作成したり、ファイルをコピーしたりすることは簡単にできます。

 

というわけでこの記事では、エクセルに備わっているVBAと呼ばれるプログラミングを用いて、任意の場所に任意の名前のフォルダを大量に一括作成する方法をご紹介します。

スポンサーリンク

VBA使用環境の構築

簡単にできるとはいえ、まずはエクセルでVBAを使えるようにしなければ話になりません。

まずは以下の記事を参考にVBAを使えるようにしておきましょう。

www.higashisalary.com

すでにVBAの使用方法をご存じの方は、以下の手順に進みましょう。

 

スポンサーリンク

新規作成フォルダ名を指定するエクセルファイルの編集

本文今回はA2セルに指定したフォルダの中にA4以降のセルに記入されている名前のフォルダを作成していきます。

 

私の場合はデスクトップ上にある【Base_Folder】というフォルダの中に【*売上記録】というフォルダを作成していきます。

これから作成するフォルダの名前一覧をエクセルに記述した結果

下準備はたったのこれだけ。

 

今回は12行目までしか記入していませんが、空欄を挟まなければ何行書いていても問題ありません

次はいよいよコードの作成です。

 

スポンサーリンク

フォルダ一括作成のコード作成

エクセルファイルの編集が終わったらVisual Basicを開き、以下のプログラムコードをコピペしましょう。

Sub make_folder()
    '使用する変数の型を宣言
    Dim base_fol As String
    Dim fol_name As String
    Dim fol_dir As String
    Dim new_fol_name As String
    Dim i As Integer
    '実際の処理開始
    base_fol = Cells(2, 1)
    i = 0
    Do Until Cells(4 + i, 1) = ""
        fol_name = Cells(4 + i, 1)
        new_fol_dir = base_fol & "\" & fol_name
        new_fol_name = Dir(new_fol_dir, vbDirectory)
        If new_fol_name = "" Then
            MkDir new_fol_dir
        Else
        End If
        i = i + 1
    Loop
End Sub
スポンサーリンク

プログラムの実行⇒結果確認

コードの記入が終わったら実際にプログラムを実行してましょう。

Bisual BasicのWindowを閉じ、

開発タブ⇒マクロ⇒make_folderを選択⇒実行

でマクロを実行できます。

 

いざ実行!!

 

マクロを実行した結果、以下のように、エクセルで指定した【Base_Folder】というフォルダの中に【*売上記録】というフォルダを作成されています。

 

今回はたったの9つのフォルダ作成しかしていませんが、A列に記載さえされていれば何個でも一瞬でフォルダを作成することが可能です。

マクロで大量のフォルダを一括作成した結果

スポンサーリンク

おわりに

というわけで今回はエクセルを使ってフォルダを大量作成する方法をご紹介しました。

 

今回は9つだけのフォルダ作成だったので、手作業でもすぐに終わるとは思いますが、これは何十、何百となれば時間がいくらあってもたりないでしょう。

ぜひ今回のスキルを習得し、業務を効率化していきましょう。

 

このように、私のブログでは、様々なエクセルスキルを紹介しています。

ぜひ他の記事も読んでいただき、スキルアップしていきましょう!

 

最後に・・・

この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました