免责声明:本文来源于网络,版权归原创作者所有,如有侵权,请联系删除。
学习一下版主的代码,把字段名也用代码加入
Sub a()
Range('A1:L1000').ClearContents '清空A2:L1000区域的数据
Set Conn = CreateObject('adodb.connection') '创建ADO链接方式
Set rs = CreateObject('adodb.recordset')
Conn.Open 'provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=' & ThisWorkbook.FullName '打开数据源链接
For i = 1 To Sheets.Count - 1 '循环第一个到倒数第二个工作表
Sq = Sq & 'select * from [' & Sheets(i).Name & '$] where 积分 > 10 ' & ' union all ' '每个数据表的符合积分大于10分的数据都进行连接起来
Next i
Sq = Left(Sq, Len(Sq) - 11) '因为循环倒数第二个工作表时,sq语句最后还是链接到 union all ,一共有11个字符,这时要提取sq字符串中不包含最后11个字符的字符串
Set rs = Conn.Execute(Sq)
For i = 1 To rs.Fields.Count '把选取的字段名写到表格
Sheets('查询').[a1].Cells(1, i) = rs.Fields(i - 1).Name
Next
Sheets('查询').[A2].CopyFromRecordset rs '在A2执行该SQL语句,并且使用了CopyFromRecordset执行方法
Conn.Close
Set Conn = Nothing
End Sub
联系客服