我正在研究一個宏,對三個工作簿進行重新格式化和編輯。這三本工作手冊的名稱始終相同,並且來自同一個來源。他們以.csv格式到達。我想讓VBA將所有這三個工作簿作爲單獨的工作表導入到一本書中,並根據每個工作簿的標題中找到的字符串重命名這些工作表。有沒有簡單的方法將它附加到錄製的宏?此外,是否有更好的方式導入和分隔/格式化文件,而不是通過記錄宏生成的方式?我已經把代碼從下面這個方法:使用VBA導入和重命名.CSV文件
With ActiveSheet.QueryTables.Add(Connection:= _
"FAKENAME.csv" _
, Destination:=Range("$A$1"))
.CommandType = 0
.Name = "FAKENAME"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 65001
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 _
, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
[你可以從這裏開始了另一種方法](http://stackoverflow.com/questions/21010080/copying-data-from-a-text-file-to-an-excel-workbook/21010921#21010921)。該鏈接提供了加載多個文本文件(我認爲也適用於CSV)的解決方案,然後將其複製到工作表中。 – L42
@ l42謝謝,我來看看。 – 114