は私のコードです: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)も!また、ワークシートの 'Worksheets'コレクションを反復する必要があります。' Sheets'コレクションには 'Worksheet'オブジェクト、yes、さらに' Chart'シートが含まれています。あなたが望むものが*ワークシート*であれば、「ワークシート」を反復してください。 ;-) 'SubAddress:= Sheets(...)'に暗黙のうちに 'ActiveWorkbook'も参照してください。 –