【问题标题】:Opening a link after a lookup check查找检查后打开链接
【发布时间】:2021-12-02 23:40:57
【问题描述】:

我的代码如下所示:

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim searchFolder As String, fileName As String

    Static PowerPointApp As Object

    If Target.Column = 3 Then
        If Target.CountLarge > 1 Then Exit Sub
        If Target.Value = "" Then Exit Sub

        With Application
            Msg = .IfError(.VLookup(Target.Text, Worksheets("Test").Columns("A:B"), 2, 0), "")
            If Msg <> "" Then MsgBox Target.Value & vbLf & vbLf & Msg, vbInformation, "Suggestion d'inspection"
        End With
    End If
End Sub

它检查来自 Sheet 1 中 Col A 的单元格内容与来自 Sheet 2, Col 1 的列表;如果匹配,则 MsgBox 将提供来自 Col 2 的结果单元格的偏移值的信息。

我正在尝试将其调整为另一个执行相同检查的函数,但它不会显示来自偏移单元格的消息,而是会打开来自同一单元格的超链接。

举个例子:
我把“信息 X”放在 A:1 Sheet1 中;它检查 Col A Sheet 2,如果在 A45 中有匹配项,它将打开 B45 中的链接。

【问题讨论】:

    标签: vba hyperlink lookup offset


    【解决方案1】:

    首先检查从vlookup返回的值是否不等于“”。如果不是,则将该值传递给ActiveWorkbook.FollowHyperlink 的第一个参数。

    编辑: 删除关于msg 的两行并替换为:

    hlink = .VLookup(Target.Text, Worksheets("Test").Columns("A:B"), 2, 0)
    
    If hlink <> "" Then
        ActiveWorkbook.FollowHyperlink (hlink)
    End If
    

    您可能需要将 hlink 声明为字符串变量。

    【讨论】:

    • 就像我刚刚在原始帖子中编辑一样,我是 VBA 的新手。许多试验和错误......这意味着,我不知道如何将您的建议转化为代码。
    • 非常感谢,它现在就像一个魅力 =) 还在学习,但我相信我现在已经掌握了窍门......
    • 很高兴听到这个消息!请考虑将此标记为正确答案。
    • 完成 =) 我昨晚很快就对你的评论投了赞成票,但我忘记了检查^^'
    猜你喜欢
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    • 2017-12-21
    • 2023-01-31
    相关资源
    最近更新 更多