返回列表 上一主題 發帖

如何用VBA匯入CSV檔?

本帖最後由 luhpro 於 2011-9-27 23:27 編輯
有高手可以教我一下如何用VBA匯入CSV檔呢?還可以自選列和分隔的符號,謝謝~~!
am0251 發表於 2011-9-3 17:09

是底下這樣嗎?
  1. Sub nn()
  2.   Call openCSV("123.txt", 3, 6, " ")
  3. End Sub
複製代碼
  1. Sub openCSV(ByVal sFileName$, lStartLine As Long, lLoadLine As Long, sChar$)
  2.   ' sFileName : CSV檔案名稱, lStartLine : 開始列號, lLoadLine : 讀取列數, sChar : 分隔字元
  3.   Dim iI%
  4.   Dim sFullName$, sStr$
  5.   Dim lJ As Long, lPos As Long
  6.   Dim vData
  7.   
  8.   sFullName = ThisWorkbook.Path & "\" & sFileName

  9.   If Dir(sFullName) <> "" Then
  10.     Open sFullName For Input Access Read Shared As #1
  11.       lJ = 1
  12.       Do While lJ < lStartLine
  13.         Line Input #1, sStr
  14.         lJ = lJ + 1
  15.       Loop
  16.       
  17.       For lJ = 1 To lLoadLine
  18.         Line Input #1, sStr
  19.         ReDim vData(0)
  20.         vData = Split(sStr, sChar)
  21. ' 題外話 : Cells(lJ, 1).Resize(, UBound(vData) + 1) = Application.Transpose(vData) 此行結果不正確不知錯在哪裡, 只好改成以下這樣的迴圈...
  22.          For iI = 0 To UBound(vData)
  23.            Cells(lJ, iI + 1) = vData(iI)
  24.          Next iI
  25.       Next lJ
  26.     Close (1)
  27.   Else
  28.     MsgBox ("找不到 " & sFileName & " 檔案")
  29.   End If
  30. End Sub
複製代碼

TOP

        靜思自在 : 得理要饒人,理直要氣和。
返回列表 上一主題