[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『シートコピー時のハイパーリンクの参照先』(初心者マーク)
VBAのコードについての質問です。
ハイパーリンクを設定しているセル(A1)が存在するシートを、新規作成したブック(Bブック)にコピーした際に、BブックのA1セルのハイパーリンク参照先がコピー元と違う箇所(新規作成後の左端のシートのA1になる?)になってしまいます。
これを回避したく、コピー先でも同じ参照先にする方法はありますか。
※シートコピー後、ハイパーリンクの参照先を設定しなおす等のやり方ではなく、あくまでコピー先の参照先が変わらないようにする方法があれば知りたいです。
なお、コピー元のハイパーリンクの参照先は同シート内の別セル(例としてA50)です。
シートのコピーは、下記のコードで実装しています。
Call コピー元BK.Sheets("シート1").Copy(before:=コピー先BK.Sheets(1)
以上、ご回答お待ちしております。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
ハイパーリンクの設定もVBAでしていますか? 推測ですけどハイパーリンクを絶対参照にしたら解決したりしませんか? https://kokodane.com/2013_waza_083.htm (.:*.ゆ ゅ) 2021/12/10(金) 14:17
Set r = [A1] '例です。 s = r.Hyperlinks(1).SubAddress s = Replace(s, ActiveSheet.Name & "!", "") r.Hyperlinks(1).SubAddress = s のような感じではどうですか? (γ) 2021/12/10(金) 14:26
(γ)さん
>シート指定をとってしまう方法がありますね。
頂いた方法を試した結果、想定通りの動作となりました。
リンクに"シート名"が指定されているとは気づきませんでした。ありがとうございます。
・コピー先のシート名が同じ名前であれば、この対応は要らなくなるということなのか
・コピー先のセル押下時に「参照が正しくありません」とエラーが出たが、
ハイパーリンク編集で確認した際に"A1"とあり、遷移くらいはするのでは?と、
思ってたが本当はA1を指していなかったのでは。(Hyperlinks(1).SubAddressの値)
など、気になる点が出てきましたので、今後研究をしてきたいと思います。
解決に導いてくださり、ありがとうございました。
また、宜しくお願いします。
(初心者マーク) 2021/12/10(金) 15:16
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.