Excel VBA:基于checkboxinput的用户定义函数不重新计算
在Excel 2013中,我定义了一个自定义函数CUSTOM_EQUITY
,根据是否选中checkbox(表单控件),返回"EXTERNAL"
或"INTERNAL"
。 当我按下回车键时它可以正常工作,但是当我点击checkbox时,它不会自动更新,选中或取消选中它。
使用Ctrl + Alt + F9强制更新可以完美地工作,但是当单击checkbox时,我无法自动更新单元格。 正如你所看到的,我已经尝试了Application.Volatile
。
Function CUSTOM_EQUITY() Application.Volatile Application.Calculation = xlCalculationAutomatic Dim taxesExt As Boolean taxesExt = ActiveSheet.Shapes("TAXES_EXT").ControlFormat.Value = 1 If taxesExt Then CUSTOM_EQUITY = "EXTERNAL" Else CUSTOM_EQUITY = "INTERNAL" End If End Function
当checkbox值更改时,如何使我的函数自动重新计算?
我不确定你在说UserForm中的CheckBox ,但是如果你只是把这行放在CheckBox_Change()
:
Sheets("Your_Sheet_Name").Calculate
如果它是一个Excelcheckbox :
- 添加一个链接的单元格(这里是在C1)
- 将其放置在工作表模块中
此代码:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Application.Intersect(Target, Range("C1")) Is Nothing Then 'Nothing Else Sheets("Your_Sheet_Name").Calculate End If End Sub
- 检查是否选中了基于工作表的checkbox
- 只有在checkbox被选中的情况下运行一个macros,并且当每个checkbox未被选中时,它将恢复到一个设置的“正常”状态
- popup式错误消息(macros) – 通过checkboxselect进行更新 – Excel 2010
- 如何阅读由Django的Excel文件中的checkbox的值?
- Excel VBA代码,当单元格不为空时设置checkbox
- 在vba中打开表单时禁用checkbox
- 读取Java Apache POI中的Excelcheckbox值
- 以编程方式将单元格格式化为checkbox
- Excel VBA:如何通过基于名称的checkbox循环