Excel高級(jí)篩選和宏的結(jié)合用法詳解(視頻版),但這個(gè)用法有個(gè)缺陷,就是不能跨表按條件操作查詢,只能在同一個(gè)工作表中操作,恰巧昨天一個(gè)VIP學(xué)員問(wèn)我如何跨表操作,我上午用ADO的連接方法寫(xiě)了一段代碼,但最后老是報(bào)錯(cuò),問(wèn)了網(wǎng)上的高手,然來(lái)是SQL語(yǔ)句中的符號(hào)不對(duì),看來(lái),細(xì)節(jié)決定成敗啊。舉個(gè)個(gè)例子:通過(guò)表2的年級(jí)為條件,將表1中的篩選結(jié)果全部顯示在表2。如圖:
下一步:按下Alt+F11,進(jìn)入VBE后臺(tái)編輯環(huán)境,插入一個(gè)模塊,輸入如下代碼:
Sub Macro1()
Dim conn As Object, Sql As String
‘On Error Resume Next
Set conn = CreateObject("ADODB.Connection")
conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName
Sql = "select * from [表1$] where f14 =’" & Sheets("表2").Range("A3") & "’"
Sheets("表2").[A6:n10000].Clear
Sheets("表2").[A6].CopyFromRecordset conn.Execute(Sql)
conn.Close
Set conn = Nothing
End Sub
最后,在表2工具欄上點(diǎn)擊鼠標(biāo)右鍵,選擇“窗體”,在彈出的工具箱中選擇命令按鈕,拖動(dòng)到表2空白處,彈出的指定命令宏中,選擇Macro1,確定。
最后,上面黃色的ADO的用法,其實(shí)很簡(jiǎn)單,在我的原創(chuàng)教程《物流行業(yè)excel編程高清視頻教程》中有詳細(xì)的介紹,只是綠色背景部分的Sql語(yǔ)句有變化而已,黃色背景部分沒(méi)有大的變化,大家重點(diǎn)要通過(guò)Sql語(yǔ)句的寫(xiě)法注意格式,舉一反三。