1
我有大量需要導入到Excel中的文件。我發現並部分修改了這段代碼(我不記得在哪裏,所以我不能稱讚),這個代碼在90 + &%+的時間。用逗號將文本文件導入到Excel中
Sub Extractions()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.DisplayStatusBar = False
Dim FilesToOpen
Dim x As Integer
On Error GoTo ErrHandler
FilesToOpen = Application.GetOpenFilename _
(fileFilter:="Microsoft Excel Files (*.*?), *.*?", MultiSelect:=True, Title:="Files to Import")
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "No Files were selected"
GoTo ExitHandler
End If
x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open fileName:=FilesToOpen(x)
Sheets().Move before:=ThisWorkbook.Sheets _
(ThisWorkbook.Sheets.Count)
x = x + 1
Wend
ExitHandler:
Application.ScreenUpdating = False
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
Resume
End Sub
我導入的大多數文件都很好,因爲它們都是.csv,.txt。或.xlsx文件。但是,許多.csv和.txt文件在不同的行中包含逗號。當我導入它們時,它們將行分成兩部分,這會導致宏的後續部分出現問題。
當我正常導入文件時,不會發生逗號問題,並且文件導入第一列,這是它需要的位置。
有什麼辦法可以修改上面的代碼來簡單地將文件導入第一列,並忽略逗號?
https://msdn.microsoft.com/fr-fr/library /office/ff194819.aspx,屬性:格式和分隔符 – R3uK
@ R3uK感謝您的幫助。從鏈接(英文版,可能是法文或者非法加),正確的代碼是在'Workbooks.Open fileName:= FilesToOpen(x)之後放置',格式:= 5'。 – Clauric
很高興我能幫上忙,我的法語版本不好,我甚至沒有注意到^^。知道你可以發佈並接受你自己的答案,將你的問題標記爲已解決! ;) – R3uK