我有一个我正在创建的工作簿,它将为银行客户提供临时CRM数据库。
Sheet1被命名为公司
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
所有页面上的Column1都是“公司”标头名称
Sheet1名为公司,Sheet2名为联系人
Sheet1上的表名为CompanyTable,Sheet2上的表名为ContactTable
我在所有的工作表上都有自动筛选功能
如果你对我的代码有所帮助,我将不胜感激。如果您需要我的工作簿上的任何其他数据,请告诉我。
发布于 2018-11-13 22:11:19
Sheet2.ListObjects("ContactTable")
-这应该可以解决这个问题。
https://stackoverflow.com/questions/53289869
复制相似问题