|
本帖最后由 nec579 于 2015-3-15 22:09 编辑
要求1.合并多个csv文件 2.将子文件名内的日期插入左侧列(最好以日期格式)
3.解决汉字都变成乱码的问题
我已从别人那里获取一个代码,请高手帮忙修改下,以适应我的使用,
源代码使用过后,所有汉字都变成乱码。
Private Sub CommandButton1_Click()
Dim sPath$, sFile$, sConn$, m%, n%
Dim rDes As Range
ActiveSheet.UsedRange.Clear
Range("a1") = "文件名"
sPath = ThisWorkbook.Path & "\"
sFile = Dir(sPath & "\*.csv")
Application.ScreenUpdating = False
On Error Resume Next
Do While sFile <> ""
n = n + 1
m = IIf(n = 1, 0, 1)
n = IIf(n = 1, 1, 2)
sConn = "Text;" & sPath & sFile
Set rDes = Range("b" & Rows.Count).End(xlUp).Offset(m)
With ActiveSheet.QueryTables.Add(sConn, rDes)
.TextFileStartRow = n
.TextFilePlatform = 65001
.TextFileParseType = xlDelimited
.TextFileCommaDelimiter = True
.Refresh False
.Delete
End With
Range("a1").CurrentRegion.Columns(1).SpecialCells(4) = Split(sFile, ".")(0)
If Err.Number <> 0 Then
MsgBox "错误发生在文件: " & sFile & vbCrLf & _
"已经处理文件个数: " & n & vbCrLf & _
"工作表已使用行数: " & ActiveSheet.UsedRange.Rows.Count
Exit Sub
End If
sFile = Dir
Loop
Application.ScreenUpdating = True
End Sub
附件:
王志平.zip
(140.38 KB, 下载次数: 50)
该贴已经同步到 nec579的微博
|
|