利用宏自动分列CSV文件
1、单一的CSV文件分列的过程:打开CSV文件-选中数据第一列-数据-分列-下一步-分号-完成(1-5)。
2、CSV文件的分列过程就是这样的,如果几十个甚至是上百个CSV都需要分列,这样一个个打开岂不是很花费时间,怎么才能让所有的CSV文件自动分列呢?这里就用到了宏。把所有的Excel放到同一个文件夹中,并且新建一个Excel。
3、启用开发工具
4、编辑VBA
复制以下代码到VBA中!
Sub Macro1()
'
' Macro1 Macro
'
'
ChDir "C:\Users\Administrator\Desktop\CSV文件自动分列"
Dim sDir As String
Dim curdir As String
curdir = "C:\Users\Administrator\Desktop\CSV文件自动分列"
sDir = Dir(curdir & "\*.csv")
While Len(sDir)
Workbooks.Open Filename:=curdir & "\" & sDir
Dim temp As String
temp = Left(sDir, Len(sDir) - 4)
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _
(20, 1), Array(21, 1)), TrailingMinusNumbers:=True
Range("A1").Select
ActiveWorkbook.Save
ActiveWorkbook.SaveAs Filename:=curdir & "\" & temp & ".xls", _
FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
sDir = Dir
Wend
End Sub
5、自动分列