[[20110314000344]] 『エクセルシートを隠してリンクで表示する。』(inging) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『エクセルシートを隠してリンクで表示する。』(inging)
エクセルでシートを隠してサマリ表(1シート)のみ残した中でハイパーリンク設定をして表示させることはできますか?

書式→シート→表示しない にするとリンクも表示しません。

宜しくお願いいたします。


 基本的にマクロになると思いますが、
 下記Sample1は「サマリ表」シートに非表示にされたシートも含めた
 全シートに対してA列にハイパーリンクを貼付します。
 あわせて、「サマリ表」シート以外のシートを非表示にします。

 Sample1は標準モジュールにコピペしてください。

 Sub Sample1()

    Dim oSh As Object

    For Each oSh In ActiveWorkbook.Sheets

        If oSh.Visible = False Then
            oSh.Visible = True
        End If

        With Worksheets("サマリ表").Range("A" & Columns(1).Rows.Count).End(xlUp)
            .Offset(1).Value = oSh.Name
            .Parent.Hyperlinks.Add Anchor:=.Offset(1), Address:="" _
            , SubAddress:=oSh.Name & "!A1"
        End With

        If oSh.Name <> ActiveSheet.Name Then oSh.Visible = False

    Next

 End Sub

 下記マクロは「サマリ表」シートに貼り付けられたハイパーリンクをクリックすると
 該当の非表示シートを表示させてリンクします。

 下記マクロは「サマリ表」シートのシートモジュールにコピペ

 Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

    Dim iSh

    iSh = Split(Target.SubAddress, "!")
    If Sheets(iSh(0)).Visible = False Then
        Sheets(iSh(0)).Visible = True
        Target.Follow
    End If

 End Sub

 ちょっとわかりにくいかもしれませんが、このような感じでいかがでしょうか。

 (Yujin)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.