我正在创建一个工作簿,该工作簿将为银行客户提供一个临时CRM数据库。
Sheet1被命名为Company
Sheet1上的每一行都有一些字段,用于提供电话,电子邮件和地址之类的详细信息,还需要另一个工作表以包含必要的信息(如联系人,帐户和历史记录)(与客户进行电话和电子邮件联系的日志)
我想做的是在“公司”工作表上创建VBA代码,该代码将带我进入由该公司名称过滤的各个特定工作表上的数据。
例如;如果我双击“公司”表上的联系人姓名,则将带我进入“联系人”表,并仅针对与我双击的联系人的公司相匹配的公司过滤该表。
我是VBA的新手,并从此网站Clicking a hyperlink in Excel to set autofilter on a different sheet获得了代码 线程很旧,所以我认为最好创建一个新线程。
我不断收到“运行时错误'9':下标超出范围”,调试器突出显示了以'Sheet2.ListObjects(ContactTable)开头的行
这是我到目前为止的代码:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If ActiveCell.Column = 9 Then
Sheet2.ListObjects(ContactTable).Range.AutoFilter Field:=1, Criteria1:=ActiveCell.Offset(0, -8).Value
Sheet2.Activate
End If
End Sub
所有页面上的列1为“公司”标题名称
Sheet1被命名为Company,Sheet2被命名为Contacts
Sheet1上的表名为CompanyTable,Sheet2上的表名为ContactTable
我在所有工作表上都有自动过滤器
任何对我的代码的帮助将不胜感激。如果您在我的工作簿上还需要其他任何数据,请告诉我。
答案 0 :(得分:0)
Sheet2.ListObjects("ContactTable")
-应该可以解决问题。