2017-02-21 25 views
0

Excelのハイパーリンクでワイルドカード文字を削除/置換する際の助けが必要です。 論理的にはとても簡単ですが、それは私の能力を超えています。vbaでハイパーリンクのワイルドカードを変更する

私は、PDF文書へのハイパーリンクを含むスプレッドシートを持っています。ハイパーリンクには "#"文字が含まれており、ファイルパスが機能しなくなります。ハイパーリンクでは、単に "#"を "%23"に変更する必要があり、リンクが機能します。私はリンクの量のためにこれを手動でしたくありません。 VBAでこれを達成する方法はありますか?ファイルパスを変更するのは簡単ですが、ハイパーリンクを検索して#を変更することは可能ではないようです。それはアンカータイプのリンクを示唆するように -

すべてのハイパーリンクが.SubAddressとして.Addressとして#の左に、右に列A.

+0

は、ハイパーリンク()関数内のハイパーリンクですかそれは手動で挿入>ハイパーリンクを挿入した:あなたはそうのような各リンクでこれを修復する必要があるだろうか?それは数式バーに表示されていないのように – teylyn

+0

teylynこんにちは、それはシートのハイパーリンク機能ではありません。右クリック>ハイパーリンクを編集するのがそれを見る唯一の理由です。 – Xaser

答えて

0

Excelの扱いのテキストです。

For Each lk In Sheets("YourSheetName").Range("A:A").Hyperlinks 
    If lk.SubAddress <> "" Then 
     lk.Address = lk.Address & "%23" & lk.SubAddress 
     lk.SubAddress = "" 
    End If 
Next 
+0

100%正しい。誰もそれを考え出すことはできませんでした。ありがとうございました – Xaser

関連する問題