【问题标题】:Creating hyperlinks to other sheets with VBA using name reference使用名称引用使用 VBA 创建指向其他工作表的超链接
【发布时间】:2015-09-25 12:52:54
【问题描述】:

我的一张工作表是我的工作簿中几个(不是全部)其他工作表的列表。根据几个参数,列表不会包含相同的工作表。

我只需要创建超链接的帮助。正在调用我要链接到的工作表的名称 (ws.Name)。因此超链接必须使用此名称,而不是硬编码名称。到目前为止,我有这个:

            ActiveSheet.Hyperlinks.Add _
                Anchor:=f_ListeMoms.Range("col_mom")(j), _
                Address:="'" & ws.Name & "'!A1", _
                TextToDisplay:=nomMoM

锚在其中运行良好,无需担心锚。它只是说单击时无法到达目的地,然后右键单击超链接>修改超链接显示地址为:['MoM11'!A1 ]。 ws.name 是字符串“MoM11”。

我也有这个版本,因为我不知道该怎么说,所以它也不起作用:

f_ListeMoms.Range("col_mom")(j).FormulaR1C1 = "=HYPERLINK(" & ws.Name & ",""CLICK HERE"")"

有谁知道我做错了什么,或者可以展示另一种方法吗?谢谢!

【问题讨论】:

  • 单引号 / 可能是罪魁祸首,试试 Address:="""" & ws.Name & "!A1"""

标签: vba excel


【解决方案1】:

试试这种格式(使用子地址):

    Sheet1.Hyperlinks.Add _
            Anchor:=Sheet1.Range("C3"), _
            Address:="", _
            SubAddress:="'" & Sheet2.Name & "'!A1", _
            TextToDisplay:="Sheet 2"

.

注意:通常 SubAddress 以当前文件中的位置为目标(文档中的内部 Excel 导航),但 Address 以网页为目标 - 它试图在浏览器中打开目标

【讨论】:

  • 你知道为什么它适用于子地址,而不适用于地址吗?
  • 我在答案中添加了解释:你问了一个很好的问题,更多的人应该知道细节!
【解决方案2】:

不确定是否需要此行中的单引号

Address:="'" & ws.Name & "'!A1", _

试试

Address:=" & ws.Name & !A1", _

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    相关资源
    最近更新 更多