ヒガサラblog

サラリーマン向けに、仕事を効率良く進めていくための方法についてご紹介しています。プログラミングから対人スキルまでを幅広く掲載中。

ヒガサラblog

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

f:id:yshgs_elec:20200612221636j:plain

 

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

 

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

 

プログラミングを習得すれば簡単に作成できますよ!

 

プログラミングと聞けば、敷居が高いように感じるかもしれませんが、使うのは皆さんが普段使っているエクセルだけです。

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

 

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

 

 

VBA使用環境の構築

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

まずは以下の記事を参考にVBAの使い方をマスターしましょう。

www.higashisalary.com

 

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

 

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

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

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

f:id:yshgs_elec:20200801225655j:plain

 

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

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

 

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

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

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

Sub make_folder()

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

 

プログラムの実行

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

f:id:yshgs_elec:20200801230013j:plain

Bisual BasicのWindowを閉じ、

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

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

 

いざ実行!!

 

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

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

 

f:id:yshgs_elec:20200801230336j:plain

コードの詳細説明

単純に業務を効率化するだけであれば、ここまでできれば問題ないでしょう。

ここからはもっとVBAを勉強したい!という人のために、今回のコードではどのような処理が行われているのかを詳細解析していきます。

 

VBAをもっと勉強したい、という方は是非最後までご覧ください。

 

先ほどのコードで行われていた処理の流れは以下のようになっています。

1.大量にフォルダを作成する場所を宣言する

2.A列が空欄になるまで処理を繰り返せ!という指示をだす

3.新しいフォルダの名前と場所を記憶させる

4.すでに同じ名前のフォルダが作られていないかを確認する

5.現状フォルダがない場合は作成する

6.現状フォルダが存在する場合は無視して次のフォルダ作成に移る

 

2.ではDo Loop という処理を使っています。

⇒条件に当てはまるまで同じ処理を繰り返させることが可能。

 

4.ではDir関数というものを使っています。

⇒指定したフォルダの名前を取得することが出来ます。

取得したフォルダ名が既に存在するかを確認するために使っています。

 

5.ではMkDir パスで指定のフォルダを作成しています。

 

5&6.ではif文を使っています。

if  条件  thenで条件に当てはまる場合の処理、

elseで当てはまらない場合の処理をそれぞれ指示することが出来ます。

 

 以上がコードの詳細解説になります。

これでもよくわからない、という方はぜひコメント欄やTwitterから、わからない場所を教えていただけると幸いです。

 

終わりに

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

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

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

 

このブログでは、エクセルの他にも様々なプログラミングスキルを紹介しています。

 

プログラミングで効率化ができれば、あなたの業務に大きな余裕が生まれてきます。

そして余裕ができれば新たなことにチャレンジできる時間が出来ます。

 

そうなれば仕事が楽しくなってくるはずです!

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

 

 

最後に・・・

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

 ↓ 応援ボタン

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

 

それではまた!

 

オススメ記事

www.higashisalary.com

www.higashisalary.com