|
▼kanabun さん:
ありがとうございます。
エラーが起こります。
<初期省略>
'ファイルを開く
io = FreeFile()
Open myText For Binary As io
ReDim buf(1 To LOF(io)) ←ここの部分でエラーが発生いたします。
Get #io, , buf
申し訳ございません。
私の知識不足で、下記VBAと求めたいCSVファイルをどのように結びつけたらいいのか分かりません。
できることならば、シート1には結果のみ貼り付けたいです。
他の作業はPC内で済ませたいと思っております。
お願い致します。
>▼お願いします さん:
>こんばんは。
>
>>1.指定フォルダの更新日の新しいCSVファイルを取得
>>2.このCSVファイルをTXTファイルで開き、EXCEL化
>>
>> ※列は4列、行は1000程度
>>
>>3.取得したいデータは、
>> 4列目の最終行
>>
>>これをSheet1のどこでもいいので貼り付ける。
>>
>>
>>1.の取得は分かりましたが、2.が分かりません。
>
>最終行の最終列だけ取得できればいいのなら、 手順 2. は不要なのでは?
>
>一例です。
> Sub Test1()
> Dim myText As String
> '(1)
> myText = "指定フォルダの更新日の新しいCSVファイル"
>
> '(2) 不要につき割愛
>
> '(3) 最終行の最終列のあたい
> Dim io As Integer
> Dim buf() As Byte
> Dim j As Long
> Dim v
> Dim data
> 'ファイルを開く
> io = FreeFile()
> Open myText For Binary As io
> ReDim buf(1 To LOF(io))
> Get #io, , buf '---全データを読み込む(Shift-JIS)
> Close io
> v = Split(StrConv(buf, vbUnicode), vbCrLf)'---Unicodeに変換後、
> '改行コードで行に分割
> data = v(UBound(v) - 1) '最終行データ
> j = InStrRev(data, ",") 'お尻からカンマを探す
> data = Mid$(data, j + 1) '最後のカンマ以降のdata
> Worksheets("Sheet1").Range("A1").Value = data 'Sheetに貼り付ける
>
> End Sub
|
|