返回列表 上一主題 發帖

如何用VBA匯入CSV檔?

如何用VBA匯入CSV檔?

本帖最後由 am0251 於 2011-9-6 16:26 編輯

有高手可以教我一下如何用VBA匯入CSV檔呢?還可以自選列和分隔的符號,謝謝~~!
50 字節以內
不支持自定義 Discuz! 代碼

本帖最後由 am0251 於 2011-9-6 16:52 編輯

謝謝回復,開啟是沒問題,可是我只想匯入我想要的行數,又該怎麼寫呢?
50 字節以內
不支持自定義 Discuz! 代碼

TOP

270710.rar (18.22 KB)
謝謝兩位的回覆,只是luhpro大大的寫法有點難,小的沒看懂多少,其實我只是想"匯入"CSV"檔,而不是"開啟"因為我要選擇"分隔符號",如"TAB鍵" "分號" "逗點" "空格" 等方法,還有就是匯入的行數,如這個檔案,我的分隔符號是 "逗點" 和 "空格",匯入的行數只是第2行和第5行,該怎麼寫呢?
50 字節以內
不支持自定義 Discuz! 代碼

TOP

本帖最後由 am0251 於 2011-9-29 13:25 編輯

謝謝回覆,可能是我表達的不是很好,這個檔案是我用"資料 - 從文字檔"的方法匯入的,"SHEET1"分隔符號是用了,"逗點" 和 "空格","SHEET2"就是我要的目的了,只有第2和第5行匯入了,我只是沒辦法寫出來........ Inport CSV.rar (122.98 KB)
50 字節以內
不支持自定義 Discuz! 代碼

TOP

謝謝回覆,可是我用"錄製"的方法得到了下面的巨集,有沒有辦法簡單的方法寫出來呢?
  1. Sub csv()
  2. '
  3. ' csv Macro
  4. '

  5. '
  6.     With ActiveSheet.QueryTables.ADD(Connection:= _
  7.         "TEXT;E:\Excel\270710.csv", Destination:=Range("$A$1"))
  8.         .Name = "270710"
  9.         .FieldNames = True
  10.         .RowNumbers = False
  11.         .FillAdjacentFormulas = False
  12.         .PreserveFormatting = True
  13.         .RefreshOnFileOpen = False
  14.         .RefreshStyle = xlInsertDeleteCells
  15.         .SavePassword = False
  16.         .SaveData = True
  17.         .AdjustColumnWidth = True
  18.         .RefreshPeriod = 0
  19.         .TextFilePromptOnRefresh = False
  20.         .TextFilePlatform = 950
  21.         .TextFileStartRow = 1
  22.         .TextFileParseType = xlDelimited
  23.         .TextFileTextQualifier = xlTextQualifierDoubleQuote
  24.         .TextFileConsecutiveDelimiter = True
  25.         .TextFileTabDelimiter = True
  26.         .TextFileSemicolonDelimiter = False
  27.         .TextFileCommaDelimiter = True
  28.         .TextFileSpaceDelimiter = True
  29.         .TextFileColumnDataTypes = Array(1, 1, 9, 9, 1, 1, 1)
  30.         .TextFileTrailingMinusNumbers = True
  31.         .Refresh BackgroundQuery:=False
  32.     End With
  33. End Sub
複製代碼
50 字節以內
不支持自定義 Discuz! 代碼

TOP

        靜思自在 : 心中常存善解、包容、感思、知足、惜福。
返回列表 上一主題