免責(zé)聲明:本文來源于網(wǎng)絡(luò),版權(quán)歸原創(chuàng)作者所有,如有侵權(quán),請(qǐng)聯(lián)系刪除。 學(xué)習(xí)一下版主的代碼,把字段名也用代碼加入 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)第一個(gè)到倒數(shù)第二個(gè)工作表 Sq = Sq & 'select * from [' & Sheets(i).Name & '$] where 積分 > 10 ' & ' union all ' '每個(gè)數(shù)據(jù)表的符合積分大于10分的數(shù)據(jù)都進(jìn)行連接起來 Next i Sq = Left(Sq, Len(Sq) - 11) '因?yàn)檠h(huán)倒數(shù)第二個(gè)工作表時(shí),sq語句最后還是鏈接到 union all ,一共有11個(gè)字符,這時(shí)要提取sq字符串中不包含最后11個(gè)字符的字符串 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
|