如何取消find/replace提示的对话框?
How to cancel dialog prompted by find/replace?
我正在尝试将一些工作表迁移到新工作簿中。这些工作表引用了迁移前工作簿中的其他工作表。我的计划是将“['filename.xlms'.....”替换为“#REF!”这样用户就可以在配置选项卡中输入新的工作簿文件名,然后点击按钮 find/replace all #REF!使用要引用的新文件名。我已经让该功能正常工作,但我只是遇到了问题 find/replacing 所有 current/pre-migration 工作簿引用 #REF!。我正在使用这段代码,它似乎工作正常。
Sub Find_Replace_Migrate()
Application.ScreenUpdating = False
Dim sourceBook As Workbook
Dim sourceSheet As Worksheet
Set sourceBook = ActiveWorkbook
sourceBook.Activate
Sheets("new_worksheet_in_new_workbook").Select
Sheets("new_worksheet_in_new_workbook").Cells.Select
Selection.Replace What:="old_workbook.xlsm", Replacement:="#REF!", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Application.ScreenUpdating = True
End Sub
但是...每次脚本用 #REF! 替换众所周知的工作簿引用时,它都会要求我在我的文件系统中查找和搜索该工作簿(提示 'open'工作簿,或干脆取消操作)。现在,如果我有 5-10 个 find/replace 就没问题了,但是我有大约 90,000 个单元格到每个工作表 find/replace,并且我有大约 12-15 个工作表要迁移...
有没有办法禁止这些提示或自动取消此操作?谢谢!
经过一些持续的研究,我找到了我需要的东西。
Application.DisplayAlerts = False
Application.EnableEvents = False
我正在尝试将一些工作表迁移到新工作簿中。这些工作表引用了迁移前工作簿中的其他工作表。我的计划是将“['filename.xlms'.....”替换为“#REF!”这样用户就可以在配置选项卡中输入新的工作簿文件名,然后点击按钮 find/replace all #REF!使用要引用的新文件名。我已经让该功能正常工作,但我只是遇到了问题 find/replacing 所有 current/pre-migration 工作簿引用 #REF!。我正在使用这段代码,它似乎工作正常。
Sub Find_Replace_Migrate()
Application.ScreenUpdating = False
Dim sourceBook As Workbook
Dim sourceSheet As Worksheet
Set sourceBook = ActiveWorkbook
sourceBook.Activate
Sheets("new_worksheet_in_new_workbook").Select
Sheets("new_worksheet_in_new_workbook").Cells.Select
Selection.Replace What:="old_workbook.xlsm", Replacement:="#REF!", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Application.ScreenUpdating = True
End Sub
但是...每次脚本用 #REF! 替换众所周知的工作簿引用时,它都会要求我在我的文件系统中查找和搜索该工作簿(提示 'open'工作簿,或干脆取消操作)。现在,如果我有 5-10 个 find/replace 就没问题了,但是我有大约 90,000 个单元格到每个工作表 find/replace,并且我有大约 12-15 个工作表要迁移...
有没有办法禁止这些提示或自动取消此操作?谢谢!
经过一些持续的研究,我找到了我需要的东西。
Application.DisplayAlerts = False
Application.EnableEvents = False