首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VBA - Worksheet_Calculate事件一次又一次地触发

VBA - Worksheet_Calculate事件一次又一次地触发
EN

Stack Overflow用户
提问于 2017-10-17 05:17:18
回答 2查看 4.3K关注 0票数 2

我试图在每次参考列更改时使用另一个参考列(G8:G 508)的内容更新一列(E8:E 508),使用以下代码:

代码语言:javascript
运行
复制
Private Sub Worksheet_Calculate()
    Dim Rng As Range
    Set Rng = Range("G8:G503")
    If Not Intersect(Rng, Range("G8:G503")) Is Nothing Then
        Range("E8:E503") = Range("G8:G503").Value
    End If
End Sub

代码按预期工作,但似乎一遍又一遍地运行,最终导致Excel崩溃。

EN

Stack Overflow用户

回答已采纳

发布于 2017-10-17 06:09:49

代码语言:javascript
运行
复制
Range("E8:E503") = Range("G8:G503").Value 

触发另一个计算,这会触发事件处理程序等。

要防止这种无止境的循环,您需要在执行之前暂时禁用事件(然后在此之后重新启用)。

代码语言:javascript
运行
复制
Private Sub Worksheet_Calculate()
    Application.EnableEvents = False
    Range("E8:E503").Value = Range("G8:G503").Value
    Application.EnableEvents = True
End Sub
票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46782948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档