2016-07-25 121 views
1

我有列A中的超链接列表。有些工作,有些不。我正在寻找一个脚本来检查它们是否工作,然后删除那些不工作的脚本。我有什么是:是否有可能检查超链接是否在Excel中工作?

Sub UndoLink() 
Dim rng As Range 
Dim i As Long 
Dim n As String 
i = 2 
While i <= 4730 

Set rng = Range("A" & i) 
n = Range("A" & i).Value 
    If Worksheet.Function.FileExist(rng) = False Then 
     rng.Hyperlinks.Delete 
     i = i + 1 
    Else: i = i + 1 
    End If 
Wend 
End Sub 

Public Function FileExist(path As String) As Boolean 
    If Dir(path) <> vbNullString Then FileExist = True 
End Function 

我收到一个函数错误,当我引用FileExist在子。为了澄清,超链接都在“648242”之类的字符串中,用蓝色下划线。如果路径不存在,我想删除超链接并保留字符串。这可能吗?

回答

1

要删除超级链接:

rng.Hyperlinks.Delete 
+0

真棒。这是我错过的路线。在sub中引用用户定义函数的正确方法是什么? – user1996971

+1

像'MyVar = MyFunction(param)'? – Taosique

+0

我不这么认为。我在'If'语句中得到一个Object not defined错误。这条线有什么问题吗? – user1996971