【问题标题】:VBA Hyperlink to tabVBA 超链接到选项卡
【发布时间】:2021-01-27 16:19:34
【问题描述】:

我正在创建一个索引页面,因为我有一个包含 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。许多行都进行相同的过程例如:

A B C
Shop Details Transactions
Cinema Details Transactions

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

【问题讨论】:

    标签: excel vba


    【解决方案1】:

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

    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
    

    【讨论】:

      猜你喜欢
      • 2015-09-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 2014-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多