パソコン内HDDのとある場所のフォルダの一覧を手打ちで入力したExcelデータがあります。Excelで表示しているフォルダーの階層は4階層あります。
A列に4階層目のフォルダー名、B列に3階層目のフォルダー名、C列に2階層目のフォルダー名、D列に1階層目のフォルダー名を既に入力してあるとします。ここに入力されているフォルダー名は、これから生成する予定のフォルダーと既にHDDに生成されているフォルダー名が混在しています。
これからE列に4階層目のフォルダーの有無、F列に4階層目のフォルダー内のファイル数を表示させたいです。
エクスプローラーで、4階層目に新しいフォルダーを生成すると、E列が自動的に「有」になり、そのフォルダーにファイルを追加すると、自動的にF列でカウントされる、という状態にしたいのです。
-------------------------------------------------------------------------------
具体的に例を示します。
最終的には以下のような表をExcelで作ります。設定は架空です。
A B C D E F
店名 所属1 所属2 提出書類 提出有無 提出部数
中町店 岸和田市内店舗 大阪府内店舗 領収書 有 209
沼町店 岸和田市内店舗 大阪府内店舗 領収書 無 0
松ノ浜店 泉大津市内店舗 大阪府内店舗 領収書 有 0
米田町店 加古川市内店舗 兵庫県内店舗 領収書 有 23
現在はここまで手動入力で出来上がっています。
A B C D E F
店名 所属1 所属2 提出書類 提出有無 提出部数
中町店 岸和田市内店舗 大阪府内店舗 領収書
沼町店 岸和田市内店舗 大阪府内店舗 領収書
松ノ浜店 泉大津市内店舗 大阪府内店舗 領収書
米田町店 加古川市内店舗 兵庫県内店舗 領収書
これから各店舗に提出書類を提出してもらいます。各店舗の店長は、一つののパソコンに自分たちでフォルダーを生成し、その中に書類データを保存します。フォルダーは以下のように生成します。
D:\領収証\大阪府内店舗\岸和田市内店舗\中町店
D:\領収証\大阪府内店舗\岸和田市内店舗\沼町店
D:\領収証\大阪府内店舗\泉大津市内店舗\松ノ浜店
D:\領収証\兵庫県内店舗\加古川市内店舗\米田町店
・松ノ浜店の店長は、松ノ浜店で領収書が発生しなかったので領収書は1枚もありませんが、提出手続きを行ったかどうかの確認のため、空の「松ノ浜店」フォルダーを生成しました。
・怠惰な沼町店の店長は、期限までに領収書を提出にこなかったので、「沼町店」フォルダーは生成されませんでした。
以上のような操作の結果、ドライブDとリンクさせたExcelファイルを開くと、E、Fが自動的に入力されている、という状態にしたいです。
A B C D E F
店名 所属1 所属2 提出書類 提出有無 提出部数
中町店 岸和田市内店舗 大阪府内店舗 領収書 有 209
沼町店 岸和田市内店舗 大阪府内店舗 領収書 無 0
松ノ浜店 泉大津市内店舗 大阪府内店舗 領収書 有 0
米田町店 加古川市内店舗 兵庫県内店舗 領収書 有 23
----------------------------------------------------------------------------------
そもそもExcelでこのようなことまでできるのかもわからないのですが、もしできるのであれば方法が知りたいです。
可能な限りExcel2010で表示したいのですが、他に推奨されるソフトや一覧方法等ありましたらお教え願います。
但し、フォルダー概況以外の情報(上記例で例えるなら店舗規模など、フォルダ操作に一切関係しない情報)も併記できるツールであることが必須です。
よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
以下のコードを標準モジュールにコピペします。
Private Const BaseDir As String = "D:\領収証\" 'ここが基点
Private bolVolatile As Boolean
Sub chgVolatile()
bolVolatile = Not bolVolatile
Application.Volatile bolVolatile
MsgBox "再計算は " & bolVolatile
End Sub
Function Reported(R1 As Range, R2 As Range,R3 As Range) As String
Dim strDir As String
strDir = BaseDir & R1 & "\" & R2 & "\" & R3
Reported = IIf(Dir(strDir, vbDirectory) <> "", "有", "無")
End Function
Function ReportCount(R1 As Range, R2 As Range,R3 As Range) As Integer
Dim strDir As String
Dim i As Integer
Dim fName As String
strDir = BaseDir & R1 & "\" & R2 & "\" & R3
If Dir(strDir, vbDirectory) = "" Then
ReportCount = 0
Exit Function
End If
strDir = strDir & "\*.xls*"
fName = Dir(strDir)
Do Until fName = ""
i = i + 1
fName = Dir
Loop
ReportCount = i
End Function
提出書類の有無を出したいところには
=reported(C2,B2,A2) として、以下必要範囲までドラッグ(中町店がA2の場合)
部数の方も
=reportcount(C2,B2,A2) として同様に。
これで求められますが、フォルダ内に変化が有っても
Ctrl + Alt + F9 を押さないと再計算してくれません。
かといって自動再計算では、ファイルの読み込みに時間が掛かるために
操作がじれったくなります。
そこで、chgVolatile を加えました。
初期状態はFalseです。実行する都度、状態がFalse/Trueに切り替わります。
True状態ではどこかのセルが変更される都度、すべてが再計算されます。
また、F9 でも再計算されるようになります。
状況に応じて使い分けてください。
※提出書類は、XLSファイルだけで良かったんですよね? By 沼町店 店長
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 政治 ビッグモーター前の街路樹が除草剤で枯れた問題は、アメリカのように懲罰的罰金を課すべきではないですか? 2 2023/08/21 21:50
- その他(業種・職種) 風俗店の面接、契約に関する交通費について 1 2022/08/27 12:31
- 家具・インテリア 大阪市内で収納付きシングルベット購入アドバイス 1 2023/03/04 16:58
- 東海 ミスタードーナツはなぜ店舗が減少しているの? 5 2023/04/09 13:09
- メンズ 大阪(出来れば市内、または堺市)で、古着(全てメンズ)を高く買い取ってくれるお店を教えて下さい。 4 2022/07/10 05:15
- 飲食店・レストラン ガスト100店舗閉店へ 3 2022/08/15 20:22
- 東海 もし、東海地方のイトーヨーカドーが全て閉店したらどうなる? 4 2023/03/15 18:36
- スーパー・コンビニ コンビニ決済の用紙で支払いの際に「店舗控え」の部分が有りますが、雇用店員が「不要」だと言う根拠が分か 5 2022/04/04 08:27
- 固定資産税・不動産取得税 確定申告 収支内訳書(不動産)の減価償却資産の法定耐用年数等について 1 2023/01/24 14:34
- au(KDDI) au2店舗で見積もりを出してもらったのですが、料金形態が全く異なっていました。 私から店舗側へ伝えた 5 2023/03/21 18:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一日でオナニーしてる時が一番...
-
ダイレックスとトライアル
-
コンビニ店員の方に質問です。
-
「毎」と「別」の使い分け
-
東京または仙台でゲーミングモ...
-
コストコって駐車場からエスカ...
-
マジックミシンの店舗でズボン...
-
temple spaのコスメは日本に売...
-
ムッターローザ
-
”スターバックス”って店舗によ...
-
TSUTAYAで図書カードを使ってCD...
-
タオル美術館の店舗でPayPay支...
-
D'stationの会員カードについて
-
秋葉原付近のイオシス
-
ハニーズで500円券貰いました。...
-
山田陽子先生と山田光敏先生っ...
-
千葉県柏駅近辺で
-
よく業務スーパーに行くのです...
-
アベイルっていうお店は全国区...
-
新大久保の商店街を衰退させる...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンビニ店員の方に質問です。
-
一日でオナニーしてる時が一番...
-
ダイレックスとトライアル
-
「毎」と「別」の使い分け
-
北洋銀行のATMと両替機は、朝何...
-
エクセルで指定した日付、店舗...
-
業務スーパーってauウォレット...
-
東京または仙台でゲーミングモ...
-
タピオカ→唐揚げ→高級食パン→生...
-
cicaスリーピングマスク
-
店舗到着 お待ちくださいの「お...
-
ネカフェに泊まる時って年確さ...
-
最近、ローソンで弁当のカレー...
-
D'stationの会員カードについて
-
ツタヤって2~3店舗同時レン...
-
ムッターローザ
-
ユニクロの裾上げについて
-
オンラインでユニクロのキャンセル
-
マジックミシンの店舗でズボン...
-
Access:フォームの自動入力方...
おすすめ情報