首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遵循超链接到源工作簿中的值分离工作簿和AutoFilter

遵循超链接到源工作簿中的值分离工作簿和AutoFilter
EN

Stack Overflow用户
提问于 2016-11-17 20:18:10
回答 1查看 520关注 0票数 0

我有一个代码,允许我跟踪一个超链接到同一个工作簿中的一个单独的工作表,并通过与我的超链接相关联的值来过滤这个工作表。请注意,我首先创建了VBA进程之外的超链接。我就是这样做的:

( a)在Developer选项卡下打开Visual

( b)右击要将宏添加到的工作簿,然后单击“插入”>“模块”。

c)将以下代码复制并粘贴到模块中:

代码语言:javascript
复制
 Sub Filter(sCriteria As String)

lField = Cells(1, 1).EntireRow.Find("Isometric Number", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False).Column
Range("a1").AutoFilter Field:=lField, _
Criteria1:=sCriteria

End Sub

我的理解是,这个模块告诉工作簿通过下面调用的特定值自动过滤超链接选项卡上名为等距号的列。您可以将列名更改为您想要的任何名称,但是它需要在模块中和在您希望自动筛选器发生的选项卡上进行更改。

( D)将以下代码复制并粘贴到主选项卡(展开Microsoft对象并双击主选项卡--超链接和我通过生命过滤的内容)。

代码语言:javascript
复制
Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
   Call Filter(sCriteria:=Cells(Target.Parent.Row, 2).Value)
End Sub

此代码确定上面要自动筛选的模块的筛选条件。现在,它被设置为通过与超级链接同一行的单元格中的值和第二列中的值进行筛选。

最后,对于这个问题:当我的超链接引用一个单独的工作簿(而不是同一个工作簿中的一个工作表)时,我得到以下错误: Object变量或带块变量not (错误91)。当我运行调试工具时,会突出显示以下一行:

代码语言:javascript
复制
lField = Cells(1, 1).EntireRow.Find("Isometric Number", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False).Column

我已经阅读了很多这方面的内容,但是我很难理解如何阅读和理解这些代码。最接近答案的是这篇文章:Can Excel vba invoke an autofilter when a hyperlink is clicked to open new workbook?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-17 20:59:07

尝试更改这一行,因为它目前将引用新打开的工作簿。您可能需要更改工作表索引(或名称)

代码语言:javascript
复制
lField = ThisWorkbook.Sheets(1).Cells(1, 1).EntireRow.Find("Isometric Number", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False).Column
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40664255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档