【问题标题】:Can't set worksheet name as subaddress in excel VBA?无法在 Excel VBA 中将工作表名称设置为子地址?
【发布时间】:2017-02-13 10:11:21
【问题描述】:

这是我的代码:

    Dim wsVar As Worksheet
For Each wsVar In ThisWorkbook.Sheets
   With wsVar
 .Hyperlinks.Add Anchor:=.Range("G1"), _
 Address:="", _
 SubAddress:=Sheets("Table of Contents").Name & "!A1", _
 TextToDisplay:="Table of Contents"
   End With
Next wsVar

上面还有其他代码,但这与我的问题无关。看到子地址行了吗? 我基本上已经尝试了所有方法来让该子地址引用同一工作簿中名为目录的工作表。它不起作用(我也不知道为什么我需要“!A1”,但似乎我从其他地方看到过,所以它就在那里)。 当它工作时,它会创建一个超链接,当然,但是如果您单击该超链接,它会说该引用无效。所以我知道是这行代码。

【问题讨论】:

    标签: vba excel hyperlink


    【解决方案1】:

    当工作表名称包含空格(和几个其他特殊字符)时,您需要将其括在单引号中,即SubAddress:="'Table of Contents'!A1"

    (或SubAddress:="'" & Sheets("Table of Contents").Name & "'!A1",但使用Sheet 对象的.Name 属性来获取您用作Sheets 集合索引的名称有点多余。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-01
      • 2010-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多