【发布时间】:2015-02-23 19:23:42
【问题描述】:
我在 csv 文件中获取数据,我需要将数据导入 excel。我使用下面的 vba 代码来完成我的任务(经过相应修改后,我也是从某个站点获得的):
Sub ImportTextFile()
Dim vFileName
On Error GoTo ErrorHandle
vFileName = Application.GetOpenFilename("CSV Files (*.csv),*.csv")
If vFileName = False Or Right(vFileName, 3) <> "csv" Then
GoTo BeforeExit
End If
Application.ScreenUpdating = False
Workbooks.OpenText Filename:=vFileName, _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, _
Other:=False, TrailingMinusNumbers:=True, _
Local:=True
Columns("A:A").EntireColumn.AutoFit
BeforeExit:
Application.ScreenUpdating = True
Exit Sub
ErrorHandle:
MsgBox Err.Description
Resume BeforeExit
End Sub
到目前为止,此代码对我有所帮助,因为 csv/文本文件中的行/记录数少于 1,048,576(这是工作表中 excel 的行数限制)。现在 csv/文本文件中的记录数是限制的 10 倍。
我需要帮助
- 修改此代码,它会自动生成工作表(在同一工作簿中)并在每个工作表上放置 1000000 条记录,直到 text/csv 文件结束。
感谢您在这方面的帮助。谢谢
【问题讨论】: