Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


810 / 76611 ←次へ | 前へ→

【81461】指定フォルダ内最新ファイル名の転記(連続)方法について
質問  V  - 20/8/17(月) 22:53 -

引用なし
パスワード
   勉強不足で申し訳ありません
繰り返し処理について教えてください。

列B8〜にフォルダ保存バスが入っています。
列C8〜に列Bで指定したフォルダに存在するファイルの内
最新(直近に作成された)のファイル名を
表示させたいといろいろなサイトを検索して
以下を作りました。

Sub ファイル名転記()
Dim fso, fol, fc, f1, f2
Set fso = CreateObject("Scripting.FileSystemObject")
Set fol = fso.GetFolder(Cells(8, 2))
Set fc = fol.Files

For Each f1 In fc
If IsEmpty(f2) = True Then
Set f2 = fso.GetFile(f1)
End If
If f1.DateLastModified > f2.DateLastModified Then
Set f2 = fso.GetFile(f1)
End If
Next
Cells(8, 3).Value = f2.Name
End Sub

これをB列にデータがあれば全てのC列に自動的にデータが転記されるようにしたいと
以下のとおり作ってみましたが、全く反応しませんでした、
どのように作り替えればよいのか、どなたかご教授頂けませんでしょうか。
どうぞよろしくお願いします。

Sub 連続ファイル名転記()
Dim i As Long
Dim MaxRow As Long
MaxRow = Sheets("添付書類").Cells(Rows.Count, 2).End(xlUp).Row

For i = 1 To MaxRow
Dim fso, fol, fc, f1, f2
Set fso = CreateObject("Scripting.FileSystemObject")
Set fol = fso.GetFolder(Cells(i, 2))
Set fc = fol.Files
For Each f1 In fc
If IsEmpty(f2) = True Then
Set f2 = fso.GetFile(f1)
End If
If f1.DateLastModified > f2.DateLastModified Then
Set f2 = fso.GetFile(f1)
End If
Next
Cells(i, 3).Value = f2.Name
Next i
End Sub 

145 hits

【81461】指定フォルダ内最新ファイル名の転記(連続)方法について V 20/8/17(月) 22:53 質問[未読]
【81464】Re:指定フォルダ内最新ファイル名の転記(連... マナ 20/8/18(火) 18:55 発言[未読]

810 / 76611 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free