超链接指向隐藏的行

我有一个有2张工作簿。 工作表1超链接到工作表2中的几个不同的单元格。问题是工作表2中有筛选器将隐藏行,所以当您尝试按照从工作表1的超链接时,该行被隐藏,您不能看到目标。 我想弄清楚如何做到以下几点:

  • 在单击超链接上,确定工作表2中的目标行
  • 如果目标行被隐藏,请取消隐藏表2中的目标行,然后按照超链接。

超链接后,它可以保持不动,我很好。 过去几天我一直在努力,没有成功。 我已经尝试过“Followhyperlink”function,但是我认为这太迟了 – 它已经遵循了超链接,所以在这一点上取消隐藏行已经太晚了。

有什么build议么? 我很难过

FollowHyperlink确实是使用的事件处理程序。 将此代码放入Sheet1的工作表模块中:

 Option Explicit Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) Dim hyperlinkParts() As String If ((Target.Type = msoHyperlinkRange) And (Target.SubAddress <> "")) Then If (InStr(Target.SubAddress, "!") > 0) Then hyperlinkParts = Split(Target.SubAddress, "!") If ((Left$(hyperlinkParts(0), 1) = "'") And (Right$(hyperlinkParts(0), 1) = "'")) Then hyperlinkParts(0) = Mid$(hyperlinkParts(0), 2, Len(hyperlinkParts(0)) - 2) End If Worksheets(hyperlinkParts(0)).Range(hyperlinkParts(1)).EntireRow.Hidden = False End If End If End Sub 

这将检查超链接是否与Range对象相对应,然后将目标地址拆分为工作表名称和特定单元格。 然后取消隐藏与目标地址对应的行。

对于没有指定特定单元格的外部工作簿,需要检查子地址为空的超链接

编辑:这种方法不适用于命名范围的超链接,我已经改变了代码,以避免与这种超链接的错误消息

EDIT2; 修改代码以处理包含以前导致错误的空间的工作表名称