本記事では、最も有名でかつ使用頻度が高い表計算ソフトの「Microoft Excel」で使用できる『複数フォルダを階層指定して作成するマクロ』ツールの概要・使い方・取得方法等を紹介しております。
・ツールの説明文を1行目に追加、ツールの全体構成の変更、フォルダ名称入力時に同一行をグレーアウトする仕様に変更しました。
・フォルダ作成する際の保存先にフォルダを指定できるように変更しました。
・OneDrive内に保存している場合でも動作するように改修しました。
・保存先パスをダイアログでなくセル内に入力する仕様のバージョンを追加しました。
「複数フォルダを階層指定して作成するツール」の概要
本ツールは、フォルダを作成する際に階層を指定して一度に複数のフォルダを一括で作成することができるツールとなっています。
- 大量のフォルダを作成することができます。
- 階層を指定して大量のフォルダを作成することができます。
通常はフォルダを作成する必要があるディレクトリにて右クリック→「新規作成」→「フォルダ」を作成する分だけ繰り返し行う必要がありますが、本ツールを使用すると一度に複数のフォルダを作成することができます。
複数のフォルダを階層を指定して作成する、また基にするフォルダがある場合等でご活用いただけます。
本ツールの説明動画はこちら
本ツールの利用手順
本ツールを使用する手順は以下の通りになります。
Step1:本ツール(Excelマクロファイル)を開く
- フォルダ自動作成ツールのマクロが入ったExcelファイル(***.xlsm)をクリックします。
Step2:作成したいフォルダを入力してフォルダ作成する
- 表内でフォルダ階層を指定して作成したいフォルダ名称を入力します。
- 「フォルダ作成実行」ボタンをクリックします。
開いているExcelファイルがあるフォルダに指定したフォルダが作成されます。
フォルダの下階層にも指定したフォルダが作成されています。
入力したフォルダ名称とフォルダ構成の関係性
上記表内のとおりフォルダ名称を入力した場合は、以下のようにフォルダが作成されます。
- 当ツールと同階層または指定したフォルダに「フォルダ1」が作成されます。
- 「フォルダ1」の中に「フォルダ2」と「フォルダ3」が作成されます。
- 「フォルダ3」の中に「フォルダ4」が作成されます。
- 「フォルダ4」の中に「フォルダ5」が作成されます。
- 「フォルダ5」の中に「フォルダ6」が作成されます。
- 「フォルダ1」と同階層に「フォルダ7」が作成されます。
- 「フォルダ7」の中に「フォルダ8」が作成されます。
Rule1:一番最初に指定するフォルダは最上位の階層を指定する
OK:最初のフォルダ名称が表の一番左の列に入力されている。
NG:最初のフォルダ名称が表の一番左の列に入力されていない。
Rule2:一つの行に複数のフォルダ名の指定をしない
OK:一つの行に一つのフォルダ名称のみが入力されている。
NG:一つの行に複数のフォルダ名称が入力されている。
Rule3:二つ以上飛ばした下位階層に対してフォルダ名を指定しない
OK:
- 下フォルダは上フォルダの一つ右のフォルダ名称になっている。
- 下フォルダは上フォルダと同一階層に入力されている。
- 下フォルダは上フォルダより左側のフォルダ名称になっている。
NG:指定したフォルダの一つ下の行で、二つ以上右側のフォルダ名称に値が入力されている。
上記のルールを守っていない行は、フォルダ自動作成の対象から外れて処理がスキップされて、赤色で表示させます。
ルールを守った正常な箇所はそのままフォルダ作成処理がされます。
※最初のフォルダが一番左の列を指定していない場合は、エラーメッセージを表示して処理を終了します。
また、実行した結果として、指定したフォルダが全て正常に作成されたか、誤ったフォルダ指定をした箇所が存在するか、どちらかのメッセージが表示されますので確認してください。
ご利用に関するQ&A
当記事内の「本ツールのダウンロードはこちら」よりマクロ付きExcelファイルがダウンロードができます。
※有料コンテンツの場合は、ご購入後にツールのダウンロード、VBAソースコードの確認ができます。
当サイトでは早期対応の使い方サポートサービスを提供しておりますので、使用方法等が分からない場合でも安心してご利用いただけます。
簡易的な内容ですと、当記事のコメント欄よりお問い合わせください。またはサイト最上部にあります「お問い合わせフォーム」より不明点をお問い合わせください。
※早期対応は有料コンテンツをご利用いただいた方限定のサービスとなっております。
本ツールは利用時に各環境の設定により、マクロの実行がブロックされる可能性があります。
マクロ実行の許可は(別記事:マクロのブロックを解除する方法)を参考に進めて下さい。
なお、上記を実施しても解除できない場合はマクロを含まないExcelファイルと必要なVBAソースコードを別途ご案内いたします。
ご利用上の注意事項
本ツールはMicrosoft Excelのマクロ機能を用いて、プログラミング言語「VBA」にて作成しております。ご利用に関しては、以下の注意事項をご確認ください。
- 本ツールの開発環境は、OS:Windows10 、Excelのバージョン:Microsoft 2016、Microsoft Office 365となっており、当該環境では動作確認ができていますが、他の環境での動作は完全には確認できていません。
- 本ツールは利用時に各環境の設定により、マクロの実行をブロックする可能性があります。マクロ実行の許可は(別記事:マクロのブロックを解除する方法)を参考に進めて下さい。
- 本ツールの利用で発生した問題の責任は負いかねます。事前に使い方をテスト、理解した上で、ご利用ください。
- 本ツールはバージョンアップに伴い、ツール自体の仕様が変更になる可能性やアップデートされる可能性がございます。予めご了承ください。
- ツールおよびプログラムの著作は当サイトを管理しております「デジたわ」にあります。無断での転載・再販・配布・共有は固く禁止しております。
時短ツールの特徴と紹介
『時短ツールラボ』では本ツール以外にもExcelマクロを利用した時短ツールを複数ご用意しております。
今後も随時新規で開発、公開していきますので是非ご覧ください。
全ツールはこちら(時短ツールラボ)からご確認ください。
時短ツールラボのツールの特徴
① 商品は全て買い切り
販売されるExcelマクロのツールは全て月額料金が発生しない「買い切り型」となっています。ランニングコストの心配をせずにツールを使用いただけます。
② 無料ツールもご用意
初めての方でも安心してご利用いただけるように「無料」で使用できるツールも多数用意しております。ツールの使用感を確かめたうえでご購入いただけます。
③ 使い方のサポートが無料
有料ツールをご利用いただいた方限定で早期対応の使い方サポートサービスをご用意しております。初めてExcelマクロツールをご利用される方も安心ください。
④ 返金制度あり
ご購入いただいてから24時間以内にご返金の申請をした場合は、全額返金させていただく返金制度もご用意しておりますので、ご安心ください。
⑤ ソースコードを閲覧可能
ツールをご利用いただいた方限定でVBAソースコードをご確認いただけます。ご自身でマクロ開発、VBAプログラミング学習をされる際にご活用ください。
⑥ 自由にカスタマイズ可能
マクロを含んだExcelファイルとVBAソースコードはご自身で使いやすいようカスタマイズ可能です。(※Excelファイル、VBAソースコード等の商用利用は不可となります。)
複数フォルダを階層指定してコピーまたは作成するツール
大量のフォルダを階層を指定して作成する必要がある場合、本ツールを使って効率化できます。
500円(税込)
こんな方にオススメ
- 大量のフォルダを一括で作成したい方
- 階層ごとに分けてフォルダを作成したい方
- フォルダを作成するのではなく基となるフォルダをコピーして複製したい方
- 定期的にフォルダ作成作業が発生する方
自力で業務効率化できるツール等を作成する場合は、「オンラインITスクール」を利用するとモチベーションを保ちつつ、効率的に学習とアウトプットができると思います。
上記の「侍テラコヤ」は月額2,980円~ という日本最安級の料金でプログラミング学習ができ、今なら初めての方でも安心できる「1か月全額返金保証」があります。
自分に合わないと感じた場合は返金してもらえるため、ノーリスクで試すことができます。是非一度体験してみることをオススメします ^ ^
本ツールのダウンロードはこちら
作成先を指定してフォルダ作成する際に、以下の2パターンで保存先を選択できます。
- ダイアログ内で選択してフォルダ作成するバージョン(※通常バージョン)
- セル内に保存先パスを入力してフォルダ作成するバージョン(※セル内で指定バージョン)
通常バージョンはこちらから
保存先をダイアログで表示させて指定するバージョン
本ツールのダウンロード、VBAソースコードの確認等をする場合は、下記をクリックしてダウンロードを行ってください。
【Excel VBA】フォルダ自動作成ツール(通常バージョン)
※ダウンロードした本ツールを動作させることができない場合は、マクロのブロックを解除する方法より、
マクロ機能の動作が可能になるよう設定を変更してください。
VBAのソースコードはこちら
本ツール内にVBAソースコードは書き込まれておりますが、参考までに掲載いたします。
<「ThisWorkbook」に書き込まれているVBAソースコードはこちら>
セル内で指定バージョンはこちら
保存先をセルで指定するバージョン
本ツールのダウンロード、VBAソースコードの確認等をする場合は、下記をクリックしてダウンロードを行ってください。
【Excel VBA】フォルダ自動作成ツール(セル内で指定バージョン)
※ダウンロードした本ツールを動作させることができない場合は、マクロのブロックを解除する方法より、
マクロ機能の動作が可能になるよう設定を変更してください。
セル内で指定バージョンのVBAソースコードはこちら
本ツール内にVBAソースコードは書き込まれておりますが、参考までに掲載いたします。
<「ThisWorkbook」に書き込まれているVBAソースコードはこちら>
正常に動作しない場合は、当記事のコメント欄または「お問い合わせフォーム」よりご連絡ください。
<本ツールが業務効率化や時短につながりましたら、下のグッドボタンを押していただけたら幸いです>
お知恵を拝借させていただきました。ありがとうございました。
膨大な時間がかかる筈だった業務の、大幅な時間短縮を図ることができました。
生成したフォルダに、PDFファイルを格納していきたいのですが
リスト化したものを(このファイル名はこのフォルダに格納する、という情報が記載されているもの)用いて、マクロを組むことはできるのでしょうか。
当方、自粛期間中にマクロを習得しましたがまだまだ経験不足のため
お力をお貸しいただけますと幸いです。
不躾なご依頼誠に恐縮ですが、どうぞご検討のほどよろしくお願いいたします。
管理人のRHです。
村上様、閲覧頂きまして、ありがとうございます。
完璧ではないかもしれませんが、実現したい機能のイメージは伝わりました。
マクロで実現可能だと思いますが、このコメント欄で全て説明するのは、とても大変そうです。
そのため、遠くない先、次の業務効率化ツールを作成する際は村上様のイメージされている機能を満たしたマクロを作成しようと思います。
こちらのマクロを使って一括で階層化されたフォルダを作成することができました。
ありがとうございます!
一点問題を見つけたので報告させていただきたいと思います。
▼環境
Windows10
Excel2019
▼問題
6列目以降にフォルダ名を記載して階層を指定していると、6列目以降のフォルダ作成が無視されてしまう。
例えば以下のように指定すると、Voice、SE、BGMといったフォルダが作成されないようでした。
——————————————–
Content
Main
Common
Texture
Animation
Media
Audio
Voice
SE
BGM
Video
——————————————–
管理人のRHです。
当ツールをお使い頂き、また併せて問題をご報告いただき、ありがとうございます。
ご指摘の件ですが、
当ツールの設計としては、6列目以降の文字はフォルダ作成の対象外となるような作りになっています。
開発するにあたり固定された数分(今回は5列分)でしかアルゴリズムが思いつかず、6列以上のフォルダ作成に至りませんでした。(力不足ですみません。)
使いたい等のご要望がありましたら、頑張って考えますので、改めてお教えください。
テキスト内容をコピーして実行してみたのですが、デバックが発生し実行できませんでした。
マクロ勉強し始めたばかりですので、解決していただけますでしょうか?
以下にてデバック発生しました。
‘指定されたフォルダ構成と名称のフォルダが既に存在していたらフォルダ作成を行わない
If Dir(ThisWorkbook.Path & fPath & “\” & fName, vbDirectory) = “” Then
個人のPCはwindows10
office2019です。
宜しく御願いいたします。
管理人のRHです。
当ツールをお使い頂き、また併せて問題をご報告いただき、ありがとうございます。
以下のコードでエラーが発生して、マクロが正常に動作しなかったとのことですが、デバッグ時のエラー内容は分かりますでしょうか。可能でしたらエラーコード番号とエラーの内容が分かれば原因究明しやすいかと思います。
例えば、「エラーコード:76」「エラー内容:パスが見つかりません。」など教えていただければ幸いです。
>‘指定されたフォルダ構成と名称のフォルダが既に存在していたらフォルダ作成を行わない
>If Dir(ThisWorkbook.Path & fPath & “\” & fName, vbDirectory) = “” Then
考えられるエラーの可能性としては、「1.フォルダパスが長すぎる。」「2.フォルダ作成しようとしている場所がネットワークドライブ等で特殊な場所」などかと思います。
その場合は、試しにデスクトップ(Cドライブ)などに当該VBAファイルを置いて実行してみるとどうなるかご確認いただければと思います。
ご回答ありがとうございます。
エラー内容について共有します。
「実行時エラー’52’ファイル名または番号が不正です。」とエラー表示されています。
デスクトップ直下で試してみたのですが同じ結果でした。
たびたび、申し訳ないのですが問題を判断できる場合ご教示いただけますと幸いです。
私も勉強としていろいろ試行錯誤してみようと思います…
一度返信してしまったのですが、解決できました。
解決した内容ですが、ThisWorkbook.Pathがone dirveの影響でエラー吐き出したようです。
one driveの同期を解除した際に、マクロが正常に動きフォルダ作成致しました!
ありがとうございました!
管理人のRHです。
ご連絡いただき、ありがとうございます。
なるほどですね、one driveと同期していることで当該マクロのパスがone drive先を見にいっていた等で悪影響を及ぼしていたのですね。
そのような挙動になることは知りませんでした。
>ThisWorkbook.Pathがone dirveの影響でエラー吐き出したようです。
IT素人様の環境で動作したということで、良かったです。
お世話になります。MAC上でこのプログラム使わせていただきました。
一つ注意点がありましたので、お知らせします。
MACの場合は、このままコピペすると「実行時エラー ’76’ パスが見つかりません」で実行できません。
\ となってるところを / に変更したら正常に実行できました。
MACでも活用させていただきます。ありがとうございました!
管理人のRHです。
Emiさん、ツールをお使いいただき、ありがとうございます。
そうなのですね、失礼しました。
MACでの動作は確認しておりませんでした。
貴重なご意見ありがとうございます。今後の改修等に役立たせていただきます。
他のツールもありますので、是非ご活用ください。
RHさま
その節はお世話になりました。
作成先を指定してフォルダ作成実行のボタンを押すと作成したフォルダを保存する先のフォルダを指定して下さい。となりフォルダを選択する形になります。これを別ソフトにある「【知らなくても使える】複数ファイルを指定したフォルダに自動で振り分けるマクロツール」と同じように振り分けフォルダパスの項目を作成して頂けないでしょうか。宜しくお願い致します。
管理人のRHです。
KOZIさん、コメントありがとうございます。
当ツールでも、振り分けフォルダパスの値を表示させることは可能です。
こちらも対応しますので、もう少々お待ちください。
管理人のRHです。
KOZIさん、大変遅くなりました。
作成先をセル内で指定して動作するバージョンを作成しアップロードしましたので、よろしければご確認下さい。
お世話になります。
非常に便利なプログラムで業務に活用させていただいています。
例えば、フォルダ2階層にフォルダB・C・Dと3つのフォルダを作成し、
フォルダCのみにエクセルファイルを一緒に保存させる(別シートに作ったエクセルデータ)、といったことは可能でしょうか。
よろしくお願いいたします。
管理人のRHです。
kazzzさん、ツールの使用とコメントありがとうございます。
返答が大変遅くなり申し訳ありません。
実現したい場合、この『フォルダ自動作成マクロツール』と別ページにあります『複数ファイルを指定したフォルダに自動で振り分けるマクロツール』(https://resthill.blog/excel-vba-tool3/)を組み合わせて使用することで可能になるかと思います。
kazzzさんの思い描いているイメージと異なる場合は、再度コメントいただければ幸いです。
RH様
エラー処理についての質問となります。
例えば、下記のような構成の場合、5階層目のフォルダ(下記「フォルダ4」)がエラーとならずに1つ繰り上がった階層に作成されるのですが、仕様でしょうか?
「指定したフォルダの一つ下の行で、二つ以上右側のフォルダ名称に値が入力されている。」に抵触すると思うのですが、正常に作成されてしまいます。
フォルダ1
フォルダ2
フォルダ3
フォルダ4
フォルダ5
フォルダ6
以上、宜しくお願い致します。
管理人のRHです。
匿名さん、ツールの使用とコメントありがとうございます。
返答が大変遅くなり申し訳ありません。
ご指摘ありがとうございます。これは不具合です!
気付きませんでした、修正対応いたします。
>例えば、下記のような構成の場合、5階層目のフォルダ(下記「フォルダ4」)がエラーとならずに1つ繰り上がった階層に作成されるのですが、仕様でしょうか?