Excel按条件跨表筛选图文教程
- 2022-08-12
- 来源/作者: Wps Office教程网/ 菜鸟图库
- 131 次浏览
Excel高级筛选和宏的结合用法详解(视频版),但这个用法有个缺陷,就是不能跨表按条件操作查询,只能在同一个工作表中操作,恰巧昨天一个VIP学员问我如何跨表操作,我上午用ADO的连接方法写了一段代码,但最后老是报错,问了网上的高手,然来是SQL语句中的符号不对,看来,细节决定成败啊。举个个例子:通过表2的年级为条件,将表1中的筛选结果全部显示在表2。如图:
下一步:按下Alt+F11,进入VBE后台编辑环境,插入一个模块,输入如下代码:
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工具栏上点击鼠标右键,选择“窗体”,在弹出的工具箱中选择命令按钮,拖动到表2空白处,弹出的指定命令宏中,选择Macro1,确定。
最后,上面黄色的ADO的用法,其实很简单,在我的原创教程《物流行业excel编程高清视频教程》中有详细的介绍,只是绿色背景部分的Sql语句有变化而已,黄色背景部分没有大的变化,大家重点要通过Sql语句的写法注意格式,举一反三。