0

我正在创建一个索引页面,因为我有一个包含 100 多个标签的 excel 文档。

在索引页面上,我最初的选项卡名称与链接到它的文本相匹配。我使用了这段代码:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    Dim ShtName As String
    ShtName = Target.Name
    Sheets(ShtName).Visible = xlSheetVisible
    Sheets(ShtName).Select
End Sub

目标选项卡最初是隐藏的,此代码将其取消将其放置,然后将我带到它,然后在“目标”选项卡上再次隐藏它的“目标”选项卡上。它工作正常。

现在我每个“标题”有 2 页,例如,我在 A1 中有标题“商店”(无超链接),然后在 B1 中有“详细信息”,在 C1 中有“交易”,每个都有超链接。Details 单元格中超链接的选项卡名称是 D_Shop,Transaction 单元格中的选项卡名称是 T_Shop。许多行都进行相同的过程,例如:

一种 C
店铺 细节 交易
电影 细节 交易

所以现在我不能使用Target.Name它,因为它试图链接到“详细信息”或“交易”,我试过Target.Address但它返回一个空白字符串。有任何想法吗?

4

1 回答 1

1

如果其他人觉得这有帮助,请获取子地址并仅保留链接 SubAddress 中感叹号之前的内容:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    Dim ShtName As String
    ShtName = Left(Target.SubAddress, InStr(1, Target.SubAddress, "!") - 1)
    Sheets(ShtName).Visible = xlSheetVisible
    Sheets(ShtName).Select
End Sub
于 2021-01-27T08:19:34.380 回答