首页 > 解决方案 > Excel - 关闭要求您更改工作簿链接的窗口

问题描述

我生成了大约 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?

谢谢。

标签: vbaexcelfind-replace

解决方案


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

Sub BringAlive ()

Application.DisplayAlerts = False

'Your code here

Application.DisplayAlerts = True

End Sub

此外,您应该避免使用该.Select方法。(请参阅此处了解更多信息

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

推荐阅读