|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
Sub 汇总()
Dim cnADO As Object
Dim strPath, strTable, strSQL, Z As String
Set cnADO = CreateObject("ADODB.Connection")
Range("a:p").ClearContents
Range("a1:p1") = Array("序号")
Z = Dir(ThisWorkbook.Path & "\*.*")
strPath = ThisWorkbook.Path & "\" & Z
strTable = "[sheet1$A2:p65536]"
'建立连接,提取数据
x = 2
Do While Z <> ""
If Z <> "汇总.xls" Then
cnADO.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties='excel 8.0;hdr=no;imex=1';data source=" & strPath
strSQL = "select F1,F2,F3,F4,F5,F6 from " & strTable
Range("A" & x).CopyFromRecordset cnADO.Execute(strSQL)
x = Range("b65536").End(xlUp).Row
cnADO.Close
End If
Z = Dir
Loop
Set cnADO = Nothing
End Sub
代码如上,是将一个文件夹下汇总到汇总这个表上,但是执行后只复制一张表的内容,复制了3次(有3张需要汇总的表),求大神帮看看怎样排除问题啊。
|
|