|
▼kanabun さん:
もうなんとお返ししたらいいのやら・・・
完璧です。
あとは、工夫いたします。
また、別レスについてもバレていましたか・・・
ありがとうございます。
ほんと思い通りの完璧のマクロができました。
>前スレの 指定フォルダ内の最新のCSVファイルを見つけるコードと
>今回の 最終行の最終列データだけ取得する コードを合成すると
>こんな感じです。
>
>適当にアレンジしてください。
>
> Sub Try2()
> '-------------------------- Sub Try1() -----------------------
> Const myPath = "D:\(Data)\" '検索フォルダ(最後は \)要変更
> Dim myFile As String
> Dim LastFile As String
> Dim fDate As Date, LastDate As Date
>
> myFile = Dir$(myPath & "*.csv")
> Do While Len(myFile)
> fDate = FileDateTime(myPath & myFile)
> If LastDate < fDate Then
> LastDate = fDate
> LastFile = myFile
> End If
> myFile = Dir$()
> Loop
> If MsgBox("最新のCSVファイルは" & vbCr _
> & LastFile & vbTab & LastDate & vbCr _
> & "です" & vbCr _
> & "ファイルから最終行、最終列データを読み取りますか?", _
> vbOKCancel) = vbCancel Then Exit Sub
>
> '---------------------------------------------------------------
> '最終行の最終列の値だけをシートに書き出す
> Dim io As Integer
> Dim buf() As Byte
> Dim j As Long
> Dim v
> Dim data
> 'ファイルを開く
> io = FreeFile()
> Open myPath & LastFile For Binary As io
> ReDim buf(1 To LOF(io))
> Get #io, , buf
> Close io
> v = Split(StrConv(buf, vbUnicode), vbCrLf)
> data = v(UBound(v) - 1)
> j = InStrRev(data, ",")
> data = Mid$(data, j + 1)
> Worksheets("Sheet1").Range("A1").Value = data
>
> MsgBox data & " を[A1]に代入しました"
>
> End Sub
|
|