はじめましてこんにちは!エクセルを少しいじり始めた者です。
エクセルのVBAで複数のフォルダから最新更新日のファイルを検索して特定シートのセルD1からF20までをコピーして貼り付けるにはどのようにコードを書いたらいいのでしょうか?具体的に申し上げますと、ある特定のフォルダの中に複数のフォルダが入っており、複数のフォルダにはそれぞれ同じ名前の後に日付が入っていて、さらにその中には同じファイル名の後に日付が付いているファイルがあります。(「日本」フォルダの中に「日本200401」、「日本200402」、「日本200403」フォルダが入っていてさらにそれぞれのフォルダ内には「全国200401」」、「全国200402」、「全国200403」みたいな感じでフォルダ名と同じ日付が付いたファイルが入っています。)
その複数のフォルダの中から最新更新日時のファイルだけを開いて特定のシートからデータをコピーして貼り付けるにはどのようにコードを記述したら良いのでしょうか?
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんなのではどうでしょうか?
細かい仕様が分からないので、チェック系はアバウトですが・・・
Sub sample()
Dim fso As New FileSystemObject
Dim fld As Folder
Dim f As String
Dim LastModifiedDate As Date
Dim LastModifiedFile As String
'ファイルを探す
For Each fld In fso.GetFolder("c:\日本").SubFolders
If fld.Name Like "日本*" Then '日本???ファイル?
If Val(Replace(fld.Name, "日本", "")) > 0 Then '日本の後が数値かチェック(簡易チェックです)
f = Replace(fld.Name, "日本", "全国") & ".xls" '探すファイル(日本???を全国???に変更したエクセルブック)
f = fld.path & "\" & f 'フルパスを作る
If (fso.FileExists(f) = True) Then 'ファイルある?
If fso.GetFile(f).DateLastModified > LastModifiedDate Then'最終更新日時チェック
LastModifiedDate = fso.GetFile(f).DateLastModified'新たな最終更新日時
LastModifiedFile = f'その時のファイル
End If
End If
End If
End If
Next
Set fso = Nothing
'最後に更新したファイルの特定シートの特定セル(例えばSheet1のA1)を表示
With Workbooks.Open(LastModifiedFile)
MsgBox .Sheets("Sheet1").Range("A1")
.Close
End With
End Sub
No.2
- 回答日時:
私は最近言っていることだが、課題を解決するための、
(1)要素スキル(最終具体的にはコードだが、とりあえず置いといて)を文章で書き上げて、どこがわからないかを見極めるのが良い。
処理順序(時間順序)に沿って箇条書きするのが良い。
(2)大きいほうの課題からまず解決するよう、力を入れる。
しかし小さいほうでも調べてわかれば、コードを集めて良いが。
(3)本やWEBで照会するため、適切な語句は何か考える。
その語句で、本やWEB照会してみる。そこのコードをコピーしてやってみて、そのケースの限りではうまくいけば、自分の場合には変更箇所はないか考える。
(4)それ(変更箇所の修正)が自力で出来ないときは、こういうコーナーに質問せざるを得ないでしょう。
本質問など上記をやってなくて、丸投げだ。
ーー
語句の候補は(全て下記に「VBA」を添えること)
フォルダ名 指定 開く
フォルダ ファイル 読む
複数フォルダの指定(これはテクニックかと思う)
ファイル 更新日付 取得(ファイル名から判るのか?)
(特定範囲の)コピー 張り付け 別ファイル
Etc
No.1
- 回答日時:
うーん。
一つ一つ取り出して舐めていくしかないでしょうね。
指定したフォルダ内にあるファイルまたはフォルダは
dir関数でとってこれます。
do while分を使用してdir関数の戻りがカラになるまでループ、
フォルダ名の後ろ6桁を持ってきて前回の抽出と比較
大きければ変数に保存。
一番大きい日付が判れば、そのフォルダを元にまたdir関数で
今度はファイル名を一つ一つ取ってきて比較して・・
とやれば一応目的は達せます。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA 最新のフォルダ取得 1 2022/04/15 15:51
- Excel(エクセル) フォルダAから1つのファイルだけを、フォルダBへを移動するVBAについて 2 2022/07/25 11:45
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) 1つのファイルを複数のフォルダにファイル名を【明日の日付】にして、コピーしたい 5 2022/12/13 20:11
- Excel(エクセル) 1つのファイルを複数のフォルダにファイル名を【明日の日付】にして、コピーしたい 5 2022/12/13 04:23
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) 1つのファイルを3つのフォルダにファイル名を【明日の日付】にして、コピーをしたい 2 2022/12/21 17:43
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/02 11:48
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
指定したフォルダ内の最新ファイルのみをコピー
Visual Basic(VBA)
-
VBA 最新のフォルダ取得
Excel(エクセル)
-
EXCEL(VBA)で指定フォルダ内の最新ファイル名を取得したい
Excel(エクセル)
-
-
4
VBAで新しい日付順にファイルを検索するには?
PowerPoint(パワーポイント)
-
5
VBAでセル入力の数式に変数を用いたい
Excel(エクセル)
-
6
VBSでフォルダ内の最新VBAファイルを開き実行したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedriveで同期解除をしたら、...
-
沢山のフォルダにあるファイル...
-
マイドキュメントのフォルダの...
-
非圧縮のZIPファイルを作りたい...
-
Batファイルでxcopyを実行する...
-
ファイルパスのチルダの意味
-
Ubuntu でinvalid filenameとな...
-
ファイルをコピーしたとき、も...
-
USB内のフォルダが「ファイル」...
-
VBAで複数のフォルダから最新の...
-
異なるファイルに入った複数の...
-
フォルダ内ファイルの作成・更...
-
ファイルのプロパティの属性の...
-
Windows10の回復環境
-
WAB DLLが見つかりません
-
フォルダーをコピーするとファ...
-
EXCEL ハイパーリンクが開かない
-
一つのフォルダに入るファイル...
-
windows7 64bitでメモリ消費量...
-
Googleフォトへのアップロード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onedriveで同期解除をしたら、...
-
沢山のフォルダにあるファイル...
-
マイドキュメントのフォルダの...
-
USB内のフォルダが「ファイル」...
-
Windowsファイルエクスプローラ...
-
ファイルパスのチルダの意味
-
Ubuntu でinvalid filenameとな...
-
一つのフォルダに入るファイル...
-
動画のサイズと再生時間の長さの件
-
フォルダの上書きで、上書きさ...
-
ファイルをコピーしたとき、も...
-
ファイルのプロパティの属性の...
-
異なるファイルに入った複数の...
-
移動先にないファイルのみをコ...
-
「隠しファイル・フォルダを別...
-
Googleフォトへのアップロード...
-
copyコマンドについて
-
ショットナビクレスト ゴルフ場...
-
vba シートの追加について
-
フォルダの上書きコピーってで...
おすすめ情報