【发布时间】:2021-06-25 22:17:35
【问题描述】:
所以这个脚本的作用是检查文件 A 是否打开,如果文件 A 没有打开它应该显示错误消息,如果显示错误消息我想关闭 Excel 文件。
出于某种原因,我无法理解它。我尝试了Application.Quit,但这只是关闭了 Excel 中的所有内容,我尝试只为文件 A 执行特定窗口 Excel 窗口,但这似乎是一个复杂的问题。
我还尝试了Application.ActiveWindow.Close 和SaveChanges:=False ActiveWorkbook.Close SaveChanges:=False 效果最好。
我的问题是弹出错误信息后如何关闭Excel?
Sub PullData()
Dim WB As Workbook
On Error Resume Next
Set WB = Workbooks("A.xlsx")
If Err Then MsgBox "Text - Text.xlsx Text." & vbNewLine & "" & vbNewLine & "" & "Text Text.xlsx Text" & vbNewLine & "" & vbNewLine & "Text" & vbNewLine & "" & vbNewLine & "Text.xlsx Text"
Workbooks("A.xlsx").Worksheets("A").Range("A2:AD9999").Copy _
Workbooks("B.xlsm").Worksheets("B").Range("A2")
Worksheets("Text").Range("A1").AutoFilter Field:=1, Criteria1:="YES"
On Error GoTo 0
End Sub
【问题讨论】:
-
如果要关闭工作簿,代码正在使用 ThisWorkbook.Close。
-
我试过了,但是如果我打开文件 A,然后打开文件 B,其中包含脚本文件 B 似乎甚至没有打开并立即关闭。 (Excel 打开时宏会自动运行)
-
查看此链接。您需要先测试工作簿是否打开...extendoffice.com/documents/excel/…
-
工作簿打开,我已将
ThisWorkbook.Close放在If Err Then MsgBox "Text - Text.xlsx Text."下,我怀疑这是问题所在?谁能告诉我如何在这段代码中使用ThisWorkbook.Close?