excel vba运行时错误7 – 内存不足

我在工作表中有两个macros。 第一个检查某些单元是否被寻址并且具有特定的值,然后运行另一个macros。 下面的代码用于这个:

Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("K10:K1000")) Is Nothing And Target.Value = "Trapezoidal roof 0.6mm and above" Or Target.Value = "LightBox ballasted" Then Application.ScreenUpdating = False Call PPAPricePerkWp End If End Sub 

这在它自己的工作很好。

单击button时运行第二个macros。 此macros将单元格/行复制并粘贴到电子表格的其他部分。

当macros运行,我得到错误Runtime error 7 - out of memory它打破了上面的代码。

有没有另外一种方法可以检查某个列中的单元格是否被处理并具有一定的值,并且不会导致上述错误?

您可能需要在调用子例程之前禁用事件,以便每次更改单元格时都不触发Worksheet_Change

Application.EnableEvents = False

完成后不要忘记重新开启