如何在运行宏之前停止加载Worksheet_Change函数?

时间:2014-11-27 05:03:21

标签: excel vba excel-vba

我编写了一个宏来整理不同表格中各种来源的数据。我想在整理数据后运行跟踪更改代码here。但是,由于此代码在Worksheet_Change函数内,因此即使在运行附加到按钮的宏之前也会加载它。所以当我运行宏时,它会将所有数据标记为已更改。我怎样才能防止这种情况发生?

2 个答案:

答案 0 :(得分:0)

我明白了。只需添加一个If Then条件语句,如果不满足某些条件就会中断,并等待宏检入。

答案 1 :(得分:0)

通常,当Worksheet_Change事件宏有可能更改工作表上的数据时,您应该包含行Application.EnableEvents = False,以便不会触发事件并且Worksheet_Change不会尝试在自己的基础上运行。如果宏是'在Worksheet_Change函数' 中,那么这将是一个明智的补充。

如果我误解了并且宏不在Worksheet_Change事件宏之外,您仍然可以在宏中包含该行代码,以停止对触发Worksheet_Change的工作表上的单元格值的更改宏观运行。

请务必在退出前添加Application.EnableEvents = True,以便重新启用事件。