双击一个Excel工作表,根据双击的值筛选另一个工作表
我有两张工作表:双击一个Excel工作表,根据双击的值筛选另一个工作表,excel,vba,Excel,Vba,我有两张工作表: “摘要”-包含客户信息,以及 “交易”-包含分配给唯一客户标识符的客户交易数据(多行) 我想做的是能够双击Sheet1-Summary中的唯一客户标识符,然后过滤Sheet2事务中的数据 这些表没有名称,作为数据放在工作表中。我已经厌倦了使用下面的代码,这些代码已经被列为解决类似问题的解决方案,但是,不断收到运行时错误“9”消息 希望有人能帮助这个初学者 If Target.Column = 1 Then Worksheets("Sheet1"
If Target.Column = 1 Then
Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1:=Target.Value
'amend the SheetName above and below and make sure your table name is correct too
Worksheets("Sheet1").Select
End If
End Sub
如果您的表“没有名称”,那么它们可能不是表,而只是数据范围。因此,您的.ListObjects()
会有问题
如果在VBA编辑器中将以下代码作为专用子代码应用于Sheet1,并假设Sheet2上的数据“表”从A1
开始,并且a
是要筛选的列,则这应该适用于您:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, cancel As Boolean)
On Error GoTo GetOut
Application.EnableEvents = False
cancel = True
If ActiveCell.Value = "" Then
MsgBox "No valid filter value selected"
GoTo GetOut
End If
Sheet2.Range("A1").AutoFilter Field:=1, Criteria1:="" & ActiveCell.Value
Application.Goto Sheet2.Range("A1")
GetOut:
Application.EnableEvents = True
Exit Sub
End Sub
如果您的表“没有名称”,那么它们可能不是表,而只是数据范围。因此,您的.ListObjects()
会有问题
如果在VBA编辑器中将以下代码作为专用子代码应用于Sheet1,并假设Sheet2上的数据“表”从A1
开始,并且a
是要筛选的列,则这应该适用于您:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, cancel As Boolean)
On Error GoTo GetOut
Application.EnableEvents = False
cancel = True
If ActiveCell.Value = "" Then
MsgBox "No valid filter value selected"
GoTo GetOut
End If
Sheet2.Range("A1").AutoFilter Field:=1, Criteria1:="" & ActiveCell.Value
Application.Goto Sheet2.Range("A1")
GetOut:
Application.EnableEvents = True
Exit Sub
End Sub
根据我从您的问题中了解到的情况,您要筛选的表位于表2中,因此您应该拥有:
工作表(“表2”)…
根据我从您的问题中了解到的情况,您要筛选的表位于表2中,因此您应该拥有:工作表(“表2”)…