在宏中关闭工作簿后Excel冻结

时间:2017-11-08 09:24:41

标签: excel vba excel-vba

我在完成执行宏之后尝试关闭工作簿。 所以我使用这段代码

 Workbooks("RPA 1.xlsm").Close

然而,在RPA 1.xlsm关闭后,另一个活动工作簿被冻结,无法关闭。似乎有些东西被卡住了。

任何人都知道为什么?

2 个答案:

答案 0 :(得分:1)

以下是您问题的答案。

Closing Excel Application using VBA

也许工作簿仍未保存,这就是冻结的原因。如我错了请纠正我。感谢。

答案 1 :(得分:0)

举个例子:

Const xlAscending = 1
Const xlYes = 1
Dim filePath
    filePath = "C:\Users\book1.xlsx"
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
objExcel.DisplayAlerts = False
Dim objWorkbook
Set objWorkbook = _ 
    objExcel.Workbooks.Open(filePath)
Set objWorksheet = objWorkbook.Worksheets(1)
Set objRange = objWorksheet.UsedRange
Set objRange2 = objExcel.Range("A1")
objRange.Sort objRange2, xlAscending, , , , , , xlYes
'objExcel.Application.DefaultSaveFormat = xlWorkbookNormal'
objWorkbook.Save
objExcel.Application.Quit
Set objExcel = Nothing
请注意以下事项:

 objWorkbook.Save
    objExcel.Application.Quit
    Set objExcel = Nothing 
 objExcel.Visible = False
objExcel.DisplayAlerts = False

Visible = false表示excel无法打开

DisplayAlerts = false允许您忽略尝试更改Excel时弹出的msgBox。

前两个命令是关闭excel文件。

希望大家都清楚,如果你有更多问题请告诉我