使用vba更改excel超链接中的通配符

时间:2017-02-21 04:54:29

标签: excel-vba hyperlink vba excel

我想帮助删除/替换excel超链接中的通配符。 从逻辑上看,这似乎很容易,但它超出了我的能力。

我有一个包含PDF文档超链接的电子表格。超链接包含“#”字符,可以阻止文件路径工作。在超链接中我只需要将“#”更改为“%23”并且链接有效。由于链接数量的原因,我不想手动执行此操作。有没有办法用VBA实现这一目标。更改文件路径似乎很容易,但搜索超链接并更改#似乎不可能。

所有超链接都在A列中。

1 个答案:

答案 0 :(得分: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