Vba 不同工作表上的选择更改
您好,我正在尝试找到与选择更改事件有关的问题的解决方案: 我有一份工作表,上面有产品清单和所有相关细节。在另一张工作表上,我有相同的产品和其他信息。我想做的是单击第一张表中的product单元格,并在第二张表中对其进行过滤。ON/OFF选项用于在已启用双击宏的文件中启用/禁用此功能。谢谢你的调查Vba 不同工作表上的选择更改,vba,excel,filtering,Vba,Excel,Filtering,您好,我正在尝试找到与选择更改事件有关的问题的解决方案: 我有一份工作表,上面有产品清单和所有相关细节。在另一张工作表上,我有相同的产品和其他信息。我想做的是单击第一张表中的product单元格,并在第二张表中对其进行过滤。ON/OFF选项用于在已启用双击宏的文件中启用/禁用此功能。谢谢你的调查 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rngF As Range Dim rngFS As
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngF As Range
Dim rngFS As Range
Dim lRow As Long
Dim lCol As Long
Set rngF = ActiveSheet.AutoFilter.Range
Set rngFS = ActiveSheet.Range("FilterStatus")
lCol = rngF.Columns(1).Column - 1
lRow = rngF.Columns(1).Row
If Target.Count > 1 Then GoTo exitHandler
If Target.Address = rngFS.Address Then
If rngFS.Value = "On" Then
rngFS.Value = "Off"
Else
rngFS.Value = "On"
End If
End If
If UCase(rngFS.Value) = "ON" Then
If Not Intersect(Target, rngF) Is Nothing Then
If Target.Row > lRow Then
rngF.AutoFilter Field:=Target.Column - lCol, _
Criteria1:=Target.Value
ElseIf Target.Row = lRow Then
rngF.AutoFilter Field:=Target.Column - lCol
End If
End If
End If
exitHandler:
Exit Sub
End Sub
代码中当前的问题是什么?逻辑:
1
在代码中声明工作表对象(比如wsAF)。将实际要使用自动筛选的工作表分配给此工作表对象2
在工作表_SelectionChange
of list of products工作表中,只需使用wsAF.Rng.autofiler执行自动筛选当前的问题是我有工作表1,在A列中我有一个名称列表。在Sheet2中,我有C列包含相同的名称,所以我想做的是单击Sheet1列A上的一个单元格,并在Sheet2列C上过滤该值。感谢Siddharth,但我正在尝试,也无法做到,代码已经在文件中,我无法对代码进行此更改。你能帮忙吗?