Excel-关闭要求您更改工作簿链接的窗口

时间:2018-06-30 15:46:24

标签: excel vba excel-vba find-replace

我生成了指向约100个工作簿的链接,但并非全部都存在。很好,因为如果它们不存在,通常意味着我不需要它。链接是基于字符串连接生成的,最后一步是按值将其粘贴到单元格中。链接示例可能像这样"='P:\TEMP\[wb1.xlsx]sheet1'!$D$1

我现在需要的是删除第一个引号以使链接“生效”。

我写了一个宏,可以在行中进行查找和替换

Sub BringAlive()

Rows("18").Select

Selection.Replace What:="""", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

End Sub

唯一的问题是,当工作簿不存在时,会弹出一个窗口,要求我查找工作簿。我需要多次按下ESC,直到代码执行完成。我不能只按住ESC,因为它将停止代码。

击中ESC是否有更好的解决方案?

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以尝试关闭代码(或其中一部分)的警报

Sub BringAlive ()

Application.DisplayAlerts = False

'Your code here

Application.DisplayAlerts = True

End Sub

此外,您应该避免使用.Select方法。 (see here for more info

Rows("18").Replace What:="""", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False