2017-02-21 97 views
0

我希望在excel超鏈接中刪除/替換通配符。從邏輯上講,它看起來很容易,但超出了我的能力。在excel超鏈接中更改通配符使用vba

我有一個包含PDF文檔超鏈接的電子表格。超鏈接包含「#」字符,並停止文件路徑工作。在超鏈接中,我只需將「#」更改爲「%23」,鏈接就可以工作。由於鏈接數量的限制,我不想手動執行此操作。有什麼辦法可以用VBA來實現這一點。看起來很容易更改文件路徑,但搜索超鏈接並更改#似乎不可能。

所有的超鏈接都在列A

+0

Hyperlink()函數中的超鏈接還是使用「插入」>「超鏈接」手動插入的超鏈接? – teylyn

+0

嗨teylyn,它不是工作表的超鏈接功能,因爲它不會出現在編輯欄中。右鍵單擊>編輯超鏈接是唯一的原因。 – Xaser

回答

0

Excel將文本到#作爲.Address和向右的.SubAddress的左 - 因爲它表明錨式鏈接。您需要在每個鏈接上修復此問題,如下所示:

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