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'。 –