excel - EXCEL : 循环引用问题
问题描述
我想检查当前单元格的值是否为空,然后生成一个随机数,否则保持原样。
=IF(P4<>0,RANDBETWEEN(1,100),P4)
但是当我打开工作表时,我遇到了循环引用的问题,即使旧值不为空,P4 的值也在变化
解决方案
将此代码放在工作表的私有代码表中(右键单击工作表选项卡,查看代码)。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If not intersect(Target, Range("P4")) Is Nothing Then
On Error GoTo safe_exit
Application.EnableEvents = False
If Range("P4") = vbNullString Then
Range("P4") = Application.RandBetween(1, 100)
End If
End If
safe_exit:
Application.EnableEvents = True
End Sub
推荐阅读
- c# - 在 C# 中解析没有名称的 JSON 字符串
- jenkins - 工件部署发生时触发作业
- r - 矢量内存耗尽(R)解决方法?
- xml - 评估在 Wiremock 中返回布尔值的表达式 - 请求匹配条件
- regex - 事件日志 4624 登录类型和帐户名称的正则表达式
- loops - 可以在 Sass 映射循环中使用切片在第二个实例开始循环吗?
- jenkins - Jenkins管道按顺序构建多个项目?
- node.js - 带有 Node 和 SSL 的 Nginx proxy_pass
- java - 在邻接列表上节省内存的方法
- maven - Maven/Junit 并行执行 - Cucumber-JVM v4.0.0