用VBA在Excel超链接中更改通配符



我希望在Excel超链接中删除/更换通配符方面有所帮助。从逻辑上讲,这似乎很容易,但它超出了我的能力。

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

所有超链接在A列A中。

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

最新更新