我有一个主工作簿从其他工作簿工作表中提取数据,然后关闭修改后的工作簿,禁止保存选项。运行宏时VBA工作簿Savechanges = False仍然保存并关闭工作簿
other_wb.Close的SaveChanges =假
但是运行宏,或通过在调试模式下调用此函数步进时仍保存文件。有没有另一种方式关闭而不储蓄?这种行为有没有解释?
如果需要,我可以提供更多信息。
我有一个主工作簿从其他工作簿工作表中提取数据,然后关闭修改后的工作簿,禁止保存选项。运行宏时VBA工作簿Savechanges = False仍然保存并关闭工作簿
other_wb.Close的SaveChanges =假
但是运行宏,或通过在调试模式下调用此函数步进时仍保存文件。有没有另一种方式关闭而不储蓄?这种行为有没有解释?
如果需要,我可以提供更多信息。
Savechanges
是一个未定义的变量。因此,Empty
; Empty
是虚假的,所以表达式Savechanges = False
的计算结果为True
,因此该呼叫变为other_wb.Close True
,该文件保存该文件。
你缺少冒号:
other_wb.Close Savechanges:= False
把Option Explicit
你的所有代码模块的顶部从来没有处理这种问题。
你是说Savechanges = False评估Nothing = False - > True? – BDillan
不,我说它评估'Empty = False' =>'True'。 – GSerg
@GSerg斑点! – StevenWalker
请提供更多的代码。具体如何设置'other_wb' –
@GSerg实际上解释了它,我提供了所有我需要的信息 – BDillan
请不要对Excel/VBA问题使用[宏]标记。它的标签信息说:*不适用于MS-OFFICE/VBA /宏语言。改为使用各自的标签。*' –