システムwiki

非表示のシート/タブへのハイパーリンクExcel

D.J.Per 解決済 最終更新日:2022-06-13 04:00

私はVBAの初心者であり、37枚の非表示のシートを作成し、非表示のままにしてそれらにハイパーリンクしてTOCページに戻る方法について壁にぶつかっています.

返信リスト(回答:8)

8 #
Anonymous 1

D.J.パーキンス、
再:ハイパーリンク
VBAをその上で、その上で、またはその周りで使用するために、シートが表示されている必要はありません.
それや何かを選択しようとしないでください.
'


ジムコーン
https://goo.gl/IUQUN2

応答8# ->にスキップ
7 #
DavidPe

ジムに感謝します.目次ページのハイパーリンクを使用して非表示のタブ/シートに移動できるようにするためのコードまたは方法を実際に理解する必要があります.それらを非表示にすると、ハイパーリンクが壊れているように見えます.これを行うために必要なコードはありますか?

応答7# ->にスキップ
6 #
Anonymous 14

デビッド、
re:シートを表示して、シートへのハイパーリンクが機能するようにします
コードは目次ワークシートコードモジュールに入ります.シートの名前を取得し、単一のアポストロフィを削除して、そのシートを表示し、ハイパーリンクがその役割を果たします...
'


Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
エラー時GoToFixThings
Dim strAddress As String
strAddress= Application.WorksheetFunction.Substitute(Target.SubAddress、 "'"、vbNullString)
ThisWorkbook.Worksheets(VBA.Left $(strAddress、VBA.InStr(1、strAddress、 "!")-1)).Visible= xlSheetVisible
Application.EnableEvents= False
Target.Follow
FixThings:
Application.EnableEvents= True
サブの終了
'
ジムコーン
https://goo.gl/IUQUN2

応答6# ->にスキップ
5 #
D.J.Per

動作しますが....

シートが非表示になっています.コードを使用すると、ハイパーリンクをクリックしてそのシートに移動できますが、シートが表示され、目次シートに戻ると、非表示になっているシートは非表示のままになります.

私はそれで遊んでいますが、まだ機能するものはありません.

応答5# ->にスキップ
2 #
D.J.Per

もう1つのひも、それは上記のように'を残して動作します.しかし、シート名「TOC」に置き換えると、ハイパーリンクが機能しません.「」が「」のままの場合、リンクは機能しますが、非表示のシートは表示されたままになります.

ハイパーリンクを機能させ、シートを非表示にしておく必要があります.

応答5# ->にスキップ
4 #
Anonymous 6

デビッド、
もちろん動作します.<ニヤリ>
ハイパーリンクをクリックするとシートが表示されます.

次に、ハイパーリンクをクリックしたときにシートを非表示にします.
シートを決定する必要はありません(あなたはその上にいます)
各シートには独自のモジュール(クラスモジュール)があります.それ(シート)は、「Me」変数を使用してコードで参照されます.
したがって、非表示にする各シートで、シートモジュールに追加します...
'


Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Me.Visible= xlSheetHidden
サブ
を終了 ジムコーン
FWIW:私のコードライバラリの目次の2年前の写真(5ページ以上のコードが必要)...

応答4# ->にスキップ
3 #
D.J.Per 1

すべての作品、、、あなたはロック

応答3# ->にスキップ
1 #
Anonymous

デビッド、
このフォーラムは初めてなので、
あなたの質問に答えた回答を回答としてマークすることが期待されていることを指摘します.
それは同じ問題で他の人を助けることができ、それはレスポンダーを満足させます.
'


ジムコーン