1
这里是我的代码:无法将工作表名称设置为excel VBA中的子地址?
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”,但似乎我做我从哪里看,所以它在那里)。 当它确实起作用时,它确实会创建一个超链接,但是如果您单击该超链接,则表示该引用无效。所以我知道这是代码的这一行。
也许这只是我,但我觉得'因为每张纸......比'For Each wsVar ...'清洁得多 - ' - 当地人和参数应该是简单的'camelCase' IMO,没有匈牙利前缀...和缩进[可以使用一些帮助](http:// rubberduckvba.com/Indentation)呢!另外,您应该迭代工作簿的“工作表”集合 - “工作表”集合包含“工作表”对象,是的,还有“图表”工作表。如果你想要的只是*工作表*,迭代'工作表',就是*以防万一*。 ;-)注意'SubAddress:= Sheets(...)'也隐含地指代'ActiveWorkbook'。 –