Excel - 关闭要求您更改工作簿链接的 window
Excel - Turn off the window that asks you to change links to a workbook
我为大约 100 个工作簿生成了 links,但并非所有工作簿都存在。这很好,因为如果它们不存在,通常意味着我不需要它。 link 是基于字符串连接生成的,最后一步是按值粘贴到单元格。 link 的示例可能如下所示 "='P:\TEMP\[wb1.xlsx]sheet1'!$D
我现在需要的是删除第一个引号以带来 link "alive"。
我写了一个在行中查找和替换的宏
Sub BringAlive()
Rows("18").Select
Selection.Replace What:="""", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
唯一的问题是,当工作簿不存在时,会弹出 window 要求我查找工作簿。我需要多次点击 ESC 直到代码执行完成。我不能只按住 ESC,因为它会停止代码。
有没有更好的解决办法按ESC?
谢谢。
您可以尝试关闭代码(或部分代码)的警报
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
我为大约 100 个工作簿生成了 links,但并非所有工作簿都存在。这很好,因为如果它们不存在,通常意味着我不需要它。 link 是基于字符串连接生成的,最后一步是按值粘贴到单元格。 link 的示例可能如下所示 "='P:\TEMP\[wb1.xlsx]sheet1'!$D
我现在需要的是删除第一个引号以带来 link "alive"。
我写了一个在行中查找和替换的宏
Sub BringAlive()
Rows("18").Select
Selection.Replace What:="""", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
唯一的问题是,当工作簿不存在时,会弹出 window 要求我查找工作簿。我需要多次点击 ESC 直到代码执行完成。我不能只按住 ESC,因为它会停止代码。
有没有更好的解决办法按ESC?
谢谢。
您可以尝试关闭代码(或部分代码)的警报
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