2017-02-21 92 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