VBA工作簿Savechanges =运行宏时仍然保存和关闭工作簿

Use*_*job 0 macros excel vba excel-vba

我有一个主工作簿从其他工作簿工作表中提取数据,然后关闭修改后的工作簿抑制保存选项.

other_wb.Close Savechanges = False

但是,在运行宏或在DEBUG模式下单步执行此函数调用时,它仍会保存文件.有没有另外一种方法可以关闭而不保存?这种行为有什么解释吗?

如果需要,我可以提供更多信息.

GSe*_*erg 7

Savechanges是一个未定义的变量.因此Empty; Empty是假的,所以表达式Savechanges = False求值True,所以调用变为other_wb.Close True,这将保存文件.

你错过了冒号:

other_wb.Close Savechanges:= False
Run Code Online (Sandbox Code Playgroud)

放在Option Explicit所有代码模块之上,永远不必处理这类问题.

  • @GSerg好发现!! (2认同)