エクセルを使ったフォルダの整理整頓【 大量のデータを1クリックで操作可能 】

豆父ちゃん
こんな悩みを、エクセルマクロを利用して解決します。
結論から言うと、フォルダ名やファイル名を操作するVBAを導入する!です。
私は大手電気管理会社に勤めていて、転勤が頻繁にあります。転勤族のほとんどの人が経験したことがあると思いますが、人によって異なるので、転勤先の職場でサーバー内のデータがグチャグチャになっていることがほとんどです。
転勤したらまずはサーバー内のデータを整理整頓する仕事から始まります。
この記事ではデータの整理整頓作業の効率を上げるために、VBAでフォルダやファイルを整理整頓する方法を紹介します。
目次
フォルダやファイルの整理整頓でやるべきこと
整理整頓作業で最も大切なことは、やるべきこを明確にし行動目標をたてることです。目標を設定せずに、なんとなく作業を始めると必ず挫折してしまいます。
整理整頓のやるべきこと
- 現状サーバー内のフォルダやファイルがどのように整理されているか把握する
- 現在使われていないフォルダやファイルを把握する
- 使われていないフォルダやファイルを削除していいか確認をとる
- フォルダやファイルの名前を統一されたものに変更する
整理整頓のやるべきことを全てこなすことができればばサーバー内のデータを整理整頓することができるはずです。整理整頓は時間がかかり大変な作業です。いっぺんにやろうとせず、一つ一つこなしていきましょう。
現状サーバー内のフォルダやファイルがどのように整理されているか把握する
サーバー内のフォルダ名やファイル名を一覧表にすると、どのようにデータが整理されているかを把握することができます。
ここでの問題が、データの名前を一覧表にする作業はかなり手間のかかる!ということです。一覧表を作ろうとして挫折する方が多いのではないでしょうか。そんなときVBAを使えば、フォルダ名やファイル名を取得して一覧表をすぐに作ることができます。
下記の記事でファイル名を取得して一覧表にするVBAを詳しく紹介しています。
記事の中では、コピーしてすぐに使えるサンプルVBAが紹介しているので気になる方は使ってみて下さい。
現在使われていないフォルダやファイルを把握する
データの整理に欠かせない処理が不要なフォルダやファイルを判別して削除する!ということです。よく「過去のフォルダ」や「使っていないフォルダ」を作って不要になったデータをとっておこうとする人がいますが、思い切って削除してしまいましょう。
大量のフォルダやファイルを使われていないかどうかを判別する方法として、データの名前からデータの作成日、最終更新日時、最終アクセス日時を取得するVBAがおすすめです。
このVBAは下記の記事で詳しく紹介しています。
記事の中では、コピーしてすぐに使えるサンプルVBAが紹介しているので気になる方は使ってみて下さい。
使われていないフォルダやファイルを削除していいか確認をとる
職場のサーバー内のデータはあなた個人だけの判断で勝手に削除しては絶対にいけません。たとえ最終更新日時がかなり前だからといって一人で判断せず、みんなの確認を得るようにしましょう。
みんなの確認をとるには資料を作らなければなりません。上記で紹介したデータの名前を取得して一覧表にするVBAとデータの名前からデータの作成日、最終更新日時、最終アクセス日時を取得するVBAを組み合わせることで、みんなの確認をとる資料をあっという間に作成することができます。
フォルダやファイルの名前を統一されたものに変更する
データの整理整頓では、どのようにファルダやファイルの名前をつけていくかが重要です。適当な名前をつけてしまっては後々フォルダやファイルの名前を変更したくなることがないようにしっかり方向性を決めましょう。
フォルダ名に番号を付ける
番号は4桁以上の数字を使うと後々便利です。もしフォルダの数が増えていってもファイル名の始まりが統一され見やすくなります。
使用頻度の高いフォルダには若い番号をナンバリングしましょう。フォルダが上に表示されるようになり見つけやすくなります。またフォルダを開いたときにキーボードで数字を入力すると、該当するフォルダを選択してくれるので素早くフォルダ検索を行うことができます。
フォルダの階層分けの計画をたてる
フォルダ整理を始める前にフォルダをどのように階層分けするか計画をしっかりたてましょう。
フォルダの階層分けの考え方
- 写真→撮影日→撮影場所→用途
- 写真→撮影場所→撮影日→用途
写真フォルダの次の階層に、撮影日フォルダにするのか!撮影場所フォルダにするのか!で運用の仕方がガラッと変わります。
私の仕事では撮影場所から写真データを探すことが多いので2つ目のやり方で階層分けをしています。撮影場所から写真データを探したとき写真フォルダの次に撮影日フォルダが表示されても目的の写真にたどりつかない!ということが発生してしまいます。どのようにフォルダを運用していくかをイメージして階層分けの計画をしっかりたてましょう。
データの整理整頓に使えるVBA
上記で紹介したファイルの名前を取得して一覧にするVBAやデータの名前からデータの作成日、最終更新日時、最終アクセス日時を取得するVBAの他にもデータの整理整頓に使えるVBAを紹介します。
データの整理整頓に使えるVBA
- 一覧表からフォルダを新規作成するVBA
- 一覧表からフォルダ名やファイル名を変更するVBA
上記のVBAは整理整頓作業以外にもいろんな使い方ができます。フォルダやファイル名を操作することが多い方は参考にしてみてください。
一覧表からフォルダを新規作成するVBA
このVBAはフォルダを大量に作成したい!というときに効果を発揮します。都道県名のフォルダを作りたい!国名のフォルダを作りたい!というような作業のとき、一つ一つフォルダを新規作成して名前をつけていてはもの凄い時間と労力がかかってしまいます。労力のかかる作業はVBAを使って素早く処理してしまいましょう。
一覧表からフォルダを新規作成するVBAの使い方
サンプルVBA
1 | Sub フォルダ作成() |
2 | Dim FP As String |
3 | FP = Cells(2, 4) |
4 | gyo = Cells(Rows.Count, 1).End(xlUp).Row |
5 | For i = 4 To gyo |
6 | MkDir FP & “\" & Cells(i, 1).Value & Cells(i, 2).Value |
7 | Next |
8 | End Sub |
実行結果
一覧表から1クリックで大量のフォルダを作成することができました。
フォルダを新規作成しフォルダの名前を付ける!という作業は1つや2つであればすぐに終わりますが、大量のフォルダを作成する作業はとても手間と時間がかかります。
このVBAを使えば手間と時間を大幅に省略することができます。フォルダ整理をしていて大量にフォルダを作り直したいときにとても便利なVBAです。
一覧表からフォルダやファイルの名前を変更するVBA
一覧表から今あるフォルダの名前をいっきに変更したい!というときに効果を発揮します。大量のフォルダの名前を一つ一つ変更するのはもの凄い時間と労力が必要になります。手間のかかる作業はVBAを使って素早く処理してしまいましょう。
フォルダの名前を変更するVBAの使い方
- フォルダ整理したい場所をD2セルに入力
- フォルダ名を取得し一覧表にするVBAを実行
- 一覧表からフォルダ名を変更するVBAを実行
複数の人が扱うサーバー内のデータ整理を行う場合には、フォルダの名前を取得するVBAを実行してからすぐにフォルダの名前を変更するVBAを実行して下さい。フォルダの名前を変更するVBAを実行前にフォルダ名が他人に変更されてしまうと動作しない恐れがあります。
サンプルVBA
1 | Sub フォルダ名取得() |
2 | Dim FP As String |
3 | FP = Cells(2, 4) |
4 | Dim fl As FileSystemObject |
5 | Set fl = New FileSystemObject |
6 | Dim Fld As Folder |
7 | Set Fld = fl.GetFolder(FP & “\") |
8 | Dim FlName As Folder |
9 | For Each FlName In Fld.SubFolders |
10 | gyo = Cells(Rows.Count, 1).End(xlUp).Row |
11 | Cells(gyo + 1, 1) = FlName.Name |
12 | Next |
13 | Set fl = Nothing |
14 | End Sub |
1 | Sub フォルダ名更新日取得() |
2 | Dim FP As String |
3 | FP = Cells(2, 4) |
4 | Dim fl As FileSystemObject |
5 | |
6 | |
7 | Set fl = New FileSystemObject |
8 | Dim Fld As Folder |
9 | Dim Pa As String |
10 | gyo = Cells(Rows.Count, 1).End(xlUp).Row |
11 | For i = 4 To gyo |
12 | Pa = Cells(i, 1) |
13 | Set Fld = fl.GetFolder(FP & “\" & Pa) |
14 | Cells(i, 2) = Fld.DateCreated |
15 | Cells(i, 3) = Fld.DateLastModified |
16 | Cells(i, 4) = Fld.DateLastAccessed |
17 | Next |
18 | End Sub |
実行結果
このVBAを使えば簡単にフォルダやファイル名の編集が可能です。大量にデータの名前を編集したいときにとても便利なVBAです。
紹介しているサンプルVBAをコピーしてでも導入することは可能ですが、下記のnoteからVBAが設定されたエクセルファイルをダウンロードすることができます。気になる方は是非参考にしてみてください。
フォルダの整理整頓をやってみよう
フォルダの整理整頓は凄い手間のかかる作業なので途中で挫折してしまう方が多いのではないでしょか。今回紹介しているVBAを使えば、フォルダを一覧表にし、その一覧表からフォルダの名前を変更することができるので作業効率を格段にアップさせることが可能です。
ぐちゃぐちゃになっているフォルダはVBAを使って効率よく整理整頓していきましょう。
紹介しているサンプルVBAがうまく動作しない、もっとこういう感じの動作にしてほしいという質問や要望があれば下記の送信フォームから気軽にお問い合わせしてください。
会社では上司や、同僚からエクセルVBAの開発や修正の依頼やをよくうけます。
- こんな機能が欲しい
- VBAを実行すると変な結果になるから直してほしい
- こんな機能を追加してほしい
当ブログでは、エクセルVBAの開発依頼を承っております。気になる方は上記の送信フォームから気軽にお問合せしてください。
VBA初心者が効率化マクロを導入する方法
VBAなんて扱ったことないけどエクセル作業を自動化するマクロを導入したい!
このような問題を抱えながら日々のエクセル業務をこなしている方がおおくいらっしゃるのではないでしょうか。
こんな問題を解決する方法がこちら
- マクロの開発を外注に依頼する
- マクロが設定されたエクセルファイルをダウンロードする
- 参考書やネットでVBAスキルを身に付ける
VBAの勉強を始める前は上記の方法で効率化マクロを導入していました。
完成されたマクロを使ってエクセル業務を処理する
↓
作業効率が2倍以上アップ!!
↓
便利すぎて自分でもマクロを設定したいと考え始める
↓
参考書やネットの情報でVBAスキルを身に付ける
↓
マクロ開発を代行できる程のスキルを習得
VBAは
他のプログラミングに比べて参考書やネットで紹介されている情報量が多いので初心者でも導入しやすい
という特徴があります。
毎日のルーティーン作業にうんざりしている、だれでもできる単純作業に時間を費やしている、という方はあなたに合った方法でVBAを導入しちゃいましょう。
マクロの開発を外注に依頼する
マクロの開発を外注に依頼する導入方法は
VBAを全く扱えない方でもエクセル作業を自動化できる最も簡単な方法
です。
「こんなエクセル作業を自動化したい」「作った資料を自動的にPDFで保存したい」「決まった様式に写真を自動で貼り付けたい」
こんな感じで実現したい内容を依頼するだけで業務内容に合ったマクロを開発してくれます。

ガッツポーズの人
デメリットは、費用がかかることだけ。
開発内容、依頼先によってかかる費用は大きく異なります。
私が会社員の頃利用していた業者さんは1マクロあたり2万円~3万円の費用がかかりました。

疑問がある人
ちなみに、マメBlogでもエクセルマクロ開発代行サービスを承っています。
開発内容の確認、VBAコードの設定、動作確認後の調整、など全ての工程を私(マメ父ちゃん)が行っているので、
費用が安い!スピード納期!!
でやらせてもらっています。
ほとんど独学で身に付けたVBAスキルなので、内容によっては開発できないこともあるのでご了承ください。
ご相談、見積もり依頼は完全無料ですので気になる方は下記のリンクよりお問合せ下さい。
マクロが設定されたエクセルファイルをダウンロードする
VBA初心者でも『マクロが設定されたエクセルファイルをダウンロード』ですぐにエクセル作業を自動化することができます。
たとえば、
A4用紙に写真を貼り付けてコメントを入力する作業を自動化したい!という場合、
『写真を貼り付けるマクロ』が設定されたエクセルファイルをダウンロードすれば問題解決です。
実際に、『写真を貼り付けるマクロ』をダウンロードして使っている様子がこちら

ガッツポーズの人
『マクロが設定されたエクセルファイルをダウンロード』する導入方法は、
VBA初心者でもマクロを導入できる、費用が安い、
というメリットがあります。
しかし
VBAに関する情報が多く公開されているとはいえ、ネット上で想定するマクロは見つけることが難しい
というデメリットもあります。

ガッツポーズの人
個人ブログやファイルを販売できるサイト「note」や「Tips」ではいろんなマクロの情報が掲載されているので是非参考にしてみてください。
今までマメBlogで受注した効率化マクロを下記のnoteで掲載していますので併せてチェックしてみてください。
参考書やネットでVBAスキルを身に付ける
先程も紹介しましたが、
VBAは他のプログラミングに比べて参考書やネットで紹介されている情報量が多いので初心者でも導入しやすい
プログラミングです。
言い換えると、
情報量が豊富なので自分で勉強できちゃう
ということです。
私のVBAスキルはほとんど独学で身に付けたもので、
考えた処理のほとんどをVBAで表現できるレベルにまで到達した!
と思っています。
私の作ったマクロをプロのプログラマーが見れば、
お前の書くコードはインチキだ!「変数の宣言」とか「引数」を正しく使えよ!!
と感じるはずです。
でも、
私からすればどうでもいい!!!想定した内容を正しく処理できればよくないですか!?
独学であっても『写真を貼り付けるマクロ』『全てのシートをPDF出力するマクロ』『連番を振るマクロ』など、
業務内容に合ったマクロを開発できるようになれます。
独学でVBAスキルを身に付けるコツは、
エラーが発生してもいいからひたすらコードを書く、なんでもいいからエクセル作業をマクロ化してみる
です。
とは言っても、全くの知識0の方は何をすればいいかわからないですよね。
VBA知識0の初心者の方は、参考書『たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】』を読んでみてください。
VBAの知識0の方でもすいすい読み進められる内容になっています。
やさしい内容にも関わらず「え!!VBAを使えばこんなことできるの!?」と感動すると思います。
実際に私はこの参考書を読んでからVBAの勉強を始めました。

ひらめく人
VBAの魅力を発見した後は、
ひたすら自動化したい処理を実現するコードを書くだけ
です。
【VBA 写真を貼る】、【VBA PDF出力】、のようにネット検索すれば知りたいコードをすぐにゲットできます。
実現したい処理に向かって、「調べる→書いてみる→エラーを改善する→調べる」を繰り返していると
自然といろんなマクロが作れるようになっているはずです。
VBAに興味が湧いてきたという方は今からVBA学習をスタートさせちゃいましょう。
ディスカッション
コメント一覧
まだ、コメントがありません