Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9110 / 13646 ツリー ←次へ | 前へ→

【29140】ブック内のシート一覧にリンクを張りたい もだ 05/9/26(月) 16:58 質問[未読]
【29146】Re:ブック内のシート一覧にリンクを張りたい Jaka 05/9/26(月) 17:35 発言[未読]
【29149】Re:ブック内のシート一覧にリンクを張りたい もだ 05/9/26(月) 17:48 お礼[未読]
【29153】Re:ブック内のシート一覧にリンクを張りたい もだ 05/9/26(月) 20:43 お礼[未読]
【29212】Re:ブック内のシート一覧にリンクを張りたい 初心者 05/9/27(火) 18:13 発言[未読]
【29307】Re:ブック内のシート一覧にリンクを張りたい もだ 05/9/30(金) 11:30 お礼[未読]

【29140】ブック内のシート一覧にリンクを張りたい
質問  もだ  - 05/9/26(月) 16:58 -

引用なし
パスワード
   ブック内にあるシートの一覧を、Sheet1に作成して
そのSheet1の一覧から、ハイパーリンクを張って、たくさんあるシートを
管理したいのですが、作成したVBAだとハイパーリンクが反映されません。。。

ご助言お願いします。。。


Sub FindingSheet() '「シート名を検索」というボタンを押すと、ブック内にあるシートの一覧を作成します。

'データの初期化
  Range("B10").Select
  Range(Selection, Selection.End(xlDown)).Select
  Selection.ClearContents
  Selection.NumberFormatLocal = "G/標準"
  With Selection.Font
    .Name = "MS Pゴシック"
    .FontStyle = "標準"
    .Size = 11
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlUnderlineStyleNone
    .ColorIndex = xlAutomatic
  End With


'変数宣言
  Dim objWorkSheet As Worksheet
  Dim intRow    As Integer
  Dim sheetname  As String
  sheetname = ""

'シート名記載、開始Columの選択
  intRow = 10
  For Each objWorkSheet In Worksheets
    Sheets("シート検索マクロ").Cells(intRow, 2).Value = _
                  objWorkSheet.Name 'シート名記載、開始Row(2の事)の選択

'アクティブセルの文字列を取得(Sheet名の取得)
  'Cells(intRow, 2).Activate
  Cells(intRow, 2).Select
  sheetname = Cells(intRow, 2).Value

'ハイパーリンクの設定
  ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    sheetname & "!", TextToDisplay:=sheetname
    
    
    intRow = intRow + 1
  Next
  
End Sub

【29146】Re:ブック内のシート一覧にリンクを張り...
発言  Jaka  - 05/9/26(月) 17:35 -

引用なし
パスワード
   詳しく確認とってませんけど...。

  ActiveSheet.Hyperlinks.Add Anchor:=Range("A10"), Address:="", SubAddress:= _
    "Sheet3!A5" ', TextToDisplay:=sheetname ←97だとエラーになりました。
        ↑
     セルを指定しないとダメみたいです。

【29149】Re:ブック内のシート一覧にリンクを張り...
お礼  もだ  - 05/9/26(月) 17:48 -

引用なし
パスワード
   Jaka さん

ご回答、ありがとうございます!!
セル表示してみました

今、少し書き直してみたら、動くようになりました。

ただ、普通にスーパーリンクを張ろうとするときに
シート名を''囲われている場合と、そうでない場合で動かないことが
わかりました。

ハイパーリンクで表示される''の表示は何でしょう?
シート名に()カッコが入っているときは必須ですが
()カッコがなくても表示されています。。。


Sub FindingSheet() '「シート名を検索」というボタンを押すと、ブック内にあるシートの一覧を作成します。

'データの初期化
  Range("B10").Select
  Range(Selection, Selection.End(xlDown)).Select
  Selection.ClearContents
  Selection.NumberFormatLocal = "G/標準"
  With Selection.Font
    .Name = "MS Pゴシック"
    .FontStyle = "標準"
    .Size = 11
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlUnderlineStyleNone
    .ColorIndex = xlAutomatic
  End With


'変数宣言
  Dim objWorkSheet As Worksheet
  Dim intRow    As Integer
  Dim sheetname  As String
  sheetname = ""

'シート名記載、開始Columの選択
  intRow = 10
  For Each objWorkSheet In Worksheets
    Sheets("◆macro ").Cells(intRow, 2).Value = _
                  objWorkSheet.Name 'シート名記載、開始Row(2の事)の選択

'アクティブセルの文字列を取得(Sheet名の取得)
  'Cells(intRow, 2).Activate
  Cells(intRow, 2).Select
  sheetname = Cells(intRow, 2).Value

'ハイパーリンクの設定
   
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
sheetname & "!" & "A1", TextToDisplay:=sheetname
     
    intRow = intRow + 1
  Next
  
End Sub

【29153】Re:ブック内のシート一覧にリンクを張り...
お礼  もだ  - 05/9/26(月) 20:43 -

引用なし
パスワード
   すみません、いろいろいじってみたら
解決できました。

ハイパーリンクでファイル名を入れるときに
デフォルトで文字列を''でくくってしまえば

''でくくられていない文字列でも、ハイパーリンクが反応してくれました。

なので、修正個所は
>ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
>sheetname & "!" & "A1", TextToDisplay:=sheetname



ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'" & sheetname & "'" & "!" & "A1", TextToDisplay:=sheetname

でした!!

ありがとうございましたM(_ _)M

【29212】Re:ブック内のシート一覧にリンクを張り...
発言  初心者  - 05/9/27(火) 18:13 -

引用なし
パスワード
   ▼もだ さん:

シート関数に関してもですが・・・

 シート名に空白が含まれるとき、または数値で始まるシート名のときには、参照
する際に「'」(一重引用符)が必要です。

これ以外は不要です。

でも、全て付けておくと間違いが無いかもですね。

【29307】Re:ブック内のシート一覧にリンクを張り...
お礼  もだ  - 05/9/30(金) 11:30 -

引用なし
パスワード
   ▼初心者 さん:

お返事、遅くなりました。すみません。
なるほど、そういう規則性があるんですね!

大変参考になりました☆
ありがとうございましたm(_ _)m

9110 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free