引っかかってるのは最新ファイルを取得する部分・・・だと思うので
Sub 最新ファイル()
Const path = "C:\Documents and Settings\(ユーザー名)\My Documents\Report\元データ\"
Const file = "*.txt"
Dim check As String 'チェックするファイル
Dim target As String '見つけた最新ファイル
Dim chkedate As Variant 'targetの更新日付
'最初のファイルを取得
check = Dir(path & file, vbNormal)
If check <> "" Then
'最初のファイルが取得できたならば、とりあえずそれを最新ファイルとする
target = check
chkedate = FileDateTime(path & check)
End If
'ファイルが存在する間はループする
While check <> ""
'checkが最新ファイルかどうか確認する
If chkedate < FileDateTime(path & check) Then
'checkが最新ファイルなのでtargetとchkedateをcheckで更新する
target = check
chkedate = FileDateTime(path & check)
End If
'次のファイルを取得
check = Dir
Wend
If target <> "" Then
MsgBox "最新ファイルは " & path & target
Else
MsgBox "ファイルがないぽ"
End If
End Sub
#インデントのために全角スペースを入れているので、全角スペースを半角スペース2個に置換してから貼り付けてください。