[[20190930091934]] 『ハイパーリンク先のシート名の変更』(オウムガイ) ページの最後に飛ぶ

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

 

『ハイパーリンク先のシート名の変更』(オウムガイ)

Excelファイルの複数のシートに、同ファイルの「年間スケジュール」というシートへのハイパーリンクが設定されたセルやオブジェクトがあります。

「年間スケジュール」というシート名を「スケジュール」というシート名に変更したいのですが、単純にシート名を変更しただけでは、ハイパーリンク先の設定が「年間スケジュール」のままとなっている為、「参照が正しくありません」というメッセージが出てしまいます。

ハイパーリンク先の設定を「年間スケジュール」から「スケジュール」に一括で変更する方法はありますでしょうか?

< 使用 Excel:Excel2013、使用 OS:Windows7 >


 こんにちは ^^
VBAで
HyperlinkオブジェクトのSubAddressプロパティ
のシート名だけ書き換えれば、多分できそぉですよ
(隠居じーさん) 2019/09/30(月) 14:27

コメントありがとうございます。

VBAを使用すればなんとかできるのだろう…という気はしているのですが、
VBAについての知識が全く無い為、行き詰っている状況です。
(SubAddressプロパティ?というのも分かりません…)

過去の質問やGoogleで検索して調べて以下のようなマクロを実行してみましたが、
うまくいきませんでした。

Sub ハイパーリンク書き換え()

  Dim h As Hyperlink
  For Each h In ActiveSheet.Hyperlinks
    h.Address = Replace(h.Address, "年間スケジュール", "スケジュール")
  Next
End Sub

(オウムガイ) 2019/09/30(月) 16:16


すみません、ダメもとでAddressの部分を「SubAddress」に書き換えてみたところ、うまくいきました。
(意味はわかっていないのですが・・・)

ありがとうございました!

Sub ハイパーリンク書き換え()

  Dim h As Hyperlink
  For Each h In ActiveSheet.Hyperlinks
    h.SubAddress = Replace(h.SubAddress, "年間スケジュール", "スケジュール")
  Next
End Sub

(オウムガイ) 2019/09/30(月) 16:22


 Address はファイル名 SubAddress はファイル内の位置です。

 同じブック内へのリンクなので、Addressが空なんだと思います。
(´・ω・`) 2019/09/30(月) 16:33

同じブック内へのリンクを置き換える場合は「SubAddress」で
別のブックへのリンクを置き換える場合は「Address」を使えばいいのですね。

勉強になりました。ありがとうございました!
(オウムガイ) 2019/09/30(月) 16:45


コメント返信:

[ 一覧(最新更新順) ]


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