gpt4 book ai didi

excel - VBA 堆栈溢出

转载 作者:行者123 更新时间:2023-12-04 21:29:11 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





VBA Worksheet change event bypass?

(4 个回答)


2年前关闭。




考虑以下 VBA(无论最新版本是什么)子例程:

Private Sub Worksheet_Change(ByVal Target As Range)
'If Not Application.Intersect(Range("H11:H13"), Range(Target.Address)) Is Nothing Then
Call ThisWorkbook.testEIRR
'End If
End Sub

现在,如果注释掉的行没有被注释掉,那么更改单元格 H11 的内容是正确的(] 更新由某个函数计算的值并将其存储在应该的位置)。然而,随着条件被注释掉(如上),我得到一个堆栈溢出(o,具有讽刺意味!)

知道如何解决吗?

最佳答案

你得到一个堆栈溢出,因为 Worksheet_Change来电Worksheet_Change调用 Worksheet_Change .. ETC

您需要在调用函数之前禁用事件,然后再启用它们。

考虑

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Range("H11:H13"), Range(Target.Address)) Is Nothing Then
Application.EnableEvents = False
Call ThisWorkbook.testEIRR
Application.EnableEvents = True
End If
End Sub

this answer到一个类似的问题。

关于excel - VBA 堆栈溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58824144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com