VBA查找匹配的单元格并创建它们的超链接

时间:2014-02-11 11:32:43

标签: excel vba excel-vba hyperlink

这是我在这个网站上的第一个问题,所以如果我在描述我的问题时做出任何明显的遗漏,我会道歉。

我正在制作一个可用于配置软件的参考电子表格,我正在努力使其尽可能方便用户使用。

我有2个工作表,第一个'Main'是从数据库中提取的,表示该软件中的屏幕层次结构。 (有效显示每个屏幕下可以访问的内容)。

这些屏幕/对象中的一些与“弹出”窗口相关联,这些弹出窗口也在主页“O”列上指定。

我的第二张,'Popup'包含每个弹出窗口的更多细节。

我需要的是运行Sheet“Main”的列“O”,并且对于包含值的每个单元格在Sheet“Popup”的列“D”中搜索相同的值,然后创建一个指向结果行(任何列,但我一直试图链接到“F”)。

    For i = 3 To LastRow
    If Cells(i, "O").Value <> "" Then
        k = Sheets("Main").Cells(i, "O").Value
            c = Application.Match(k, Sheets("Popup").Range("D:D"), 0)
            If IsError(c) Then
            Else
                Sheets("Main").Hyperlinks.Add Anchor:=Sheets("Main").Cells(i, "O"), SubAddress:="Popup!F" & c, TextToDisplay:=k
            End If
    End If
Next i

对于上面的代码我当前收到错误'运行时错误'450':错误的参数数量或无效的属性赋值'在这一行:

Sheets("Main").Hyperlinks.Add Anchor:=Sheets("Main").Cells(i, "O"), SubAddress:="Popup!F" & c, TextToDisplay:=k

虽然这是尝试让这一行代码工作时的各种错误的最新列表中的最新内容。

任何帮助都会非常感激。 大卫。

1 个答案:

答案 0 :(得分:1)

尝试此操作(经过测试和测试

您错过了Address:=""

Sheets("Main").Hyperlinks.Add Anchor:=Sheets("Main").Cells(i, "O"), _
                              Address:="", _
                              SubAddress:="Popup!F" & c, _
                              TextToDisplay:=k