excel - 如何使 excel 单元格从 vba 模块中更新?
问题描述
我对 VBA 编码还是很陌生,有一段时间我遇到了同样的问题。在我的代码中,我经常绕过一个问题,即我有一个函数或子函数来执行一个任务或一系列任务,这些任务会改变任意数量的变量/值。我还有许多包含检索单个值的函数的 excel 单元格——比如“ =Get_Density(B1,B2)
”——其中 B1 和 B2 可能是质量和体积。
每当我更改工作表上与函数中的一个变量有关的值时,我的大多数单元格都会更新。例如,如果我更改单元格 B1,这将自动调用Get_Density()
要运行的函数,从而自动更新单元格。
我想要的是当我有一个没有输入参数或“if 语句”的函数来控制单元格何时更新时——比如“ Get_Density()
”——没有参数......我如何在外部启动我的函数。
这只是一个示例,但它类似于我想要实现的目标 - 可以说我的值来自从 Excel 工作表上的按钮打开的用户表单。还可以说我可以输入两个值 - 质量和体积。一旦我输入两个值,我单击一个显示“完成”的按钮,然后程序计算密度值并将其设置为等于单独模块中的变量。现在如何实例化在按下按钮或用户表单关闭时检索值的单元格?
我尝试直接将 VBA 中的单元格设置为我想要的值。我唯一的问题是,如果我想要值的位置发生变化,那么我必须在我的代码中更改它的每个实例。我也尝试过检查 excel 中的条件,但这仅适用于特定实例。
如果需要,我可以显示代码,但我希望 VBA 和 excel 中有一个方法或函数可以实现我想要的。我真的没有需要修复的代码。
解决方案
在将新值输入到工作表后,在要重新评估的所有函数的开头添加以下说明
application.volatile
推荐阅读
- vba - Access 2016 - VBA - Filling an Empty Field/Column with Data Based on the Value Within an Adjacent (same row) Cell
- cmake - cmake 3.10 无法内部测试 blas 库
- r - R caret :重新组合几个火车对象
- ruby-on-rails - 如何在 Heroku 中使用 SSL 设置域
- javascript - Vue.js 事件目标为空?
- php - 身份验证错误 Symfony 4 登录系统
- php - Cakephp:将字符串变量下载为文件
- python - Django + PostgreSQL - 1000 次插入/秒,如何加快速度?
- javascript - 流联合类型不会出错
- unit-testing - 对应用程序进行单元测试