Excelでハイパーリンクの一括置換(指定範囲)
現在、Excel2002を使用しておりますが、ハイパーリンクの一括置換用マクロ作成でつまづいておりますので、詳しい方お願いします。
【Excelデータ】
A B C D ……
1 ★ ★ ★ ★ ……
2 ★ ★ ★ ★ ……
3 ★ ★ ★ ★ ……
: : : : :
★マークの箇所のデータにURLの途中まで同じハイパーリンクが貼られています。
リンクはhttp://aaa.bbb.ccc/ddd/eee/…
ここで、C列の1行目から最終行(約1万行)までのハイパーリンクのみ
ddd→FFFとしてhttp://aaa.bbb.ccc/FFF/eee/…
としたかったので、こちらのサイト検索をしてみると
Sub ハイパーリンクの置きかえ()
Dim H As Hyperlink
For Each H In Range("B2:B101").Hyperlinks
H.Address = Replace(H.Address, "\\abc", "\\def")
Next
End Sub
という回答を見つけることが出来ました。
そこで、それを参考にして
Sub macro1()
Dim H As Hyperlink
For Each H In Range("C1:C50000").Hyperlinks
H.Address = Replace(H.Address, "ddd", "FFF")
Next
End Sub
※C列は約1万行なので5万行まで指定すればよいかと思い、この値にしてます。
とマクロを作成したのですが、
いざ実行してみると、C列だけではなく、他の列まで全部一括置換してしまいます。
私はC列だけを置換したいので、何か良い方法をご存知の方はお願い致します。
C列だけ他のシートにコピーして一括置換して元の場所に貼り付ける方法も考えたのですが、その方法ですと、D列を別の文字列に一括置換とかE列を更に別の文字列に置換… とした場合の応用がききませんので…
お礼
neKo_deuxさんへ Excelは関数があったんですね。気がつきませんでした。 ありがとうございました。 ファイルメーカーProの方はどなたかご存知ないでしょうか。バージョンは6.0と7.0ですが……