【发布时间】:2017-03-31 00:33:16
【问题描述】:
我需要在 VBA 中构建一个链接搜索功能,该功能在您将数据输入给定搜索字段后也会自动更新。我已经能够使用以下代码部分成功地做到这一点:
自动过滤搜索 - 在标准模块中
代码:
Sub FilterTo1Criteria()
With Sheet3
If Range("A3") <> vbNullString Then
.AutoFilterMode = False
.Range("A6:J1015").AutoFilter
.Range("A6:J1015").AutoFilter Field:=1, Criteria1:=Range("A3")
Else
Selection.AutoFilter
End If
End With
End Sub
工作表更改/自动更新 - 这是在工作表模块中
代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$3" Then
Application.EnableEvents = False
FilterTo1Criteria
Application.EnableEvents = True
End If
End Sub
但是,在工作表更改页面中,我需要单元格 A3:J3 作为条件,但如果仅填写 A3 和 D3,或者仅填写 A3(D3为空白),或者仅填写 D3(A3 为空白),但我在尝试复合代码以获得此效果时遇到问题。我还要复杂多少?是否有人知道我可以查看一些示例以从中收集一些信息?很难找到...
带有数据透视表的切片器是一种可行的方法,但我认为下游的一些人正在使用 Excel 2003,而且我认为切片器的工作原理并没有那么远。
提前致谢!
【问题讨论】:
标签: vba excel filter autofilter