Excel VBA質問箱 IV

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

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


21390 / 76732 ←次へ | 前へ→

【60743】Re:わかりません。
発言  kanabun  - 09/3/12(木) 15:46 -

引用なし
パスワード
   前スレの 指定フォルダ内の最新の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

2 hits

【60729】わかりません。 お願いします 09/3/11(水) 19:39 質問
【60730】Re:わかりません。 kanabun 09/3/11(水) 20:16 発言
【60740】Re:わかりません。 質問者 09/3/12(木) 14:22 お礼
【60741】Re:わかりません。 kanabun 09/3/12(木) 14:39 発言
【60743】Re:わかりません。 kanabun 09/3/12(木) 15:46 発言
【60744】Re:わかりません。 感謝いたします。 09/3/12(木) 16:53 お礼

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