|
免責聲明:本文來源于網(wǎng)絡,版權歸原創(chuàng)作者所有,如有侵權,請聯(lián)系刪除。 學習一下版主的代碼,把字段名也用代碼加入 Sub a() Range('A1:L1000').ClearContents '清空A2:L1000區(qū)域的數(shù)據(jù) Set Conn = CreateObject('adodb.connection') '創(chuàng)建ADO鏈接方式 Set rs = CreateObject('adodb.recordset') Conn.Open 'provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=' & ThisWorkbook.FullName '打開數(shù)據(jù)源鏈接 For i = 1 To Sheets.Count - 1 '循環(huán)第一個到倒數(shù)第二個工作表 Sq = Sq & 'select * from [' & Sheets(i).Name & '$] where 積分 > 10 ' & ' union all ' '每個數(shù)據(jù)表的符合積分大于10分的數(shù)據(jù)都進行連接起來 Next i Sq = Left(Sq, Len(Sq) - 11) '因為循環(huán)倒數(shù)第二個工作表時,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執(zhí)行該SQL語句,并且使用了CopyFromRecordset執(zhí)行方法 Conn.Close Set Conn = Nothing End Sub
|