我有Excel,包含单元格 A1 作为c:\user\download
,单元格 A2 包含c:\user
,单元格 A3 包含c:\
。
我使用的编码如下:
Sub opendfolder()
Dim myfolder As String, nextfolder as string, nextfolder1 as string
myfolder = Range("a1").Value
ActiveWorkbook.FollowHyperlink myfolder
nextfolder = range("a2").value
ActiveWorkbook.FollowHyperlink nextfolder
nextfolder1 = range("a3").value
ActiveWorkbook.FollowHyperlink nextfolder1
End Sub
但我现在的问题是VBA代码应该执行以首先检查单元格 A1 ,如果它有错误然后转到单元格 A2 等等...... < / p>
还有一个如果VBA代码只能在 A1 级别执行,那么就不需要执行下一个 A2 或 A3 即可。现在我编写的代码正在执行所有三个。
如果 A1 失败,可以帮助我编写将在 A1 单元格执行的代码,然后转到 A2 。如果单元格 A2 能够成功执行,则它不应执行到单元格 A3 的代码。代码应停在单元格 A2 。
如果 A2 单元格失败,则应尝试单元格 A3 。
请帮助我,我无法获得如何在上述场景中编写代码的逻辑。
答案 0 :(得分:0)
这可能有助于您弄清楚如何捕获错误。我想你可以弄清楚如何自己安排if
语句。
On Error Resume Next
ActiveWorkbook.FollowHyperlink "c:\aaa"
If Err.Number > 0 Then
Err.Clear
MsgBox "there was an error"
'an error occured, try next link
End If
On Error GoTo 0