excel - 双击一个 Excel 工作表,该工作表根据双击的值过滤另一个工作表
问题描述
我有两个工作表:
- “摘要” - 包含客户信息,以及
- “交易” - 包含分配给唯一客户标识符的客户交易数据(多行)。
我想要做的是能够双击 Sheet1 - Summary 中的唯一客户标识符,然后过滤 Sheet2 交易中的数据。
这些表没有名称,并且作为数据位于工作表中。我已经厌倦了使用以下代码,这些代码已被列为类似问题的解决方案,但不断收到运行时错误“9”消息。
希望有人可以帮助这个初学者。
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
解决方案
如果您的表格“<em>没有名称”,那么它们可能不是表格,而只是数据范围。因此,您的.ListObjects()
.
如果您在 VBA 编辑器中将以下代码作为 Sheet1 上的 Private Sub 应用,并假设 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
推荐阅读
- javascript - 使用 Jquery 限制文本字段
- json - POST 返回 404,而 GET 在 Ajax 调用 SpringMVC 控制器时工作正常
- c# - 抽象类和具体类 - getter 和 setter
- character-encoding - ZPL 打印 € 和带有锐角的字符
- java - 本地日期时间 JPA - Java 8
- java - 返回上一个开关盒
- r - 如何通过字符串列半连接两个数据帧,其中一个以冒号分隔
- c++ - 选择功能将 Enter 键(来自用户输入)识别为客户端请求
- powerbi - PowerBI:获取每个位置和日期的区域最大值
- python - ValueError:没有足够的值来解包(预期为 3,得到 1)以打开图像