excel - 我的脚本破坏了 Excel 的计算,有人可以帮我确定它有什么问题吗?
问题描述
我已经设置了一个 VBA 代码,它设置了一个表单供用户填写信息。我设置了另一个在工作表计算时运行的 VBA 代码,它对任何不符合要求的信息进行一些检查和更正。一旦第二个代码运行,所有工作表计算就会停止,我只能编辑第一个解锁的单元格,即使工作表保护关闭并且我选择了另一个单元格。所有打字都转到第一个解锁的单元格。
此脚本在由选择更改或手动运行脚本触发时起作用。我已经搜索了互联网,但我找到的只是设置列表(所有这些我都检查过)。
Private Sub Worksheet_Calculate()
'Transfer
'
If Range("AAA1").Value = "Transfer" And Range("AAB1").Value = "Not Empty" Then
If Range("D3").Value = "0" Or Range("D3").Value = "" Then
Range("AAB1").Value = "Empty"
End If
End If
If Range("AAA1").Value = "Transfer" And Range("AAB1").Value = "Empty" Then
If Range("E3").Value = Empty Or Range("F3").Value = Empty Then
Else
Range("D3").Value = Range("AA3").Value
Range("AAB1").Value = "Not Empty"
End If
End If
If Range("D3").Value > Range("AA3").Value And Range("AAA1").Value = "Transfer" Then
Range("D3").Value = Range("AA3").Value
End If
End Sub
预期结果是当单元格 E3 和 F3 都已填写且单元格 D3 为空或等于零时,单元格 D3 的值将自动设置为最大值(使用单元格 E3 中的值在单元格 AA3 中计算)。我将单元格 AAB1 用作“开关”,以便用户可以轻松输入自定义金额。单元格 AAA1 由设置表单的第一个宏设置。这一切都工作一次。然后我遇到了上面描述的问题。
解决方案
我听从了 Harassed Dad 的建议,将 Application.EnableEvents = FALSE 放在脚本的开头,将 = TRUE 放在最后。它成功了。我不认为在脚本完成之前更改值会触发计算。多谢你们。
推荐阅读
- r - 以分层方式组合多个数据帧
- html - 容器上的图像大小
- python - Apache Airflow\ DAG 的不同需求.txt
- c# - VS 安装程序项目没有拉入所有 system.io.compression
- html - 如果每次都收到提交错误,则无法提交我在 MTurk 中创建的 HIT
- javascript - 来自多个位置的 jQuery $('element').one() 事件调用
- python - tf.keras.estimator.model_to_estimator 与 Tf.Hub 故障
- python - 如何在 Kivy 中更新按钮文本
- autodesk-forge - Model Derivative 中的 Navisworks 渲染辅助形状
- vba - Shell 命令没有返回正确的结果