VBA工作表(名称)。在Excel中计算不一致

VBA工作表(名称)。在Excel中计算不一致,vba,excel,Vba,Excel,我有一个文本框,它接受用户输入,VBA中的许多自定义函数引用了该文本框。我希望每次文本框中的输入被更改时,函数都能重新计算。文本框输入表示1:24格式的比例,用于函数中并转换为小数 代码最初运行良好,但在我重新打开它时停止工作。如果我在计算后添加一个消息框。在工作表中使用SelectionChange时,我也遇到了同样的问题。思想?这是我使用的代码 此外,我使用的是一个格式化的表,这是什么是不更新 Private Sub ScaleBox_Change() Worksheets(Acti

我有一个文本框,它接受用户输入,VBA中的许多自定义函数引用了该文本框。我希望每次文本框中的输入被更改时,函数都能重新计算。文本框输入表示1:24格式的比例,用于函数中并转换为小数

代码最初运行良好,但在我重新打开它时停止工作。如果我在计算后添加一个消息框。在工作表中使用
SelectionChange
时,我也遇到了同样的问题。思想?这是我使用的代码

此外,我使用的是一个格式化的表,这是什么是不更新

Private Sub ScaleBox_Change()
    Worksheets(ActiveSheet.Name).Calculate
End Sub
尝试以下方法:

Private Sub ScaleBox_Change()
    Applicatin.CalculateFull '<<< edit
End Sub
Private Sub ScaleBox_Change()

Applicatin.CalculateFull'您的事件处理程序
ScaleBox\u Change
不会对工作表进行任何更改,因此任何计算都将使用旧数据


要解决此问题,请将
缩放框中的结果
放在工作表中适当的位置(并按照您尝试执行的操作的正确格式)。然后执行计算例行程序。

你说的“停止工作”是什么意思?尝试此操作后,出现运行时错误“438”对象不支持此属性或方法尝试我的编辑-我忘了它不是范围/工作表方法我可以这样做,但我想保留对缩放框的引用,而不是链接的单元格。第一次输入calculate命令时,它工作正常,但在保存并重新打开时,它不再工作。@卡西迪:您的计算是在工作表中完成的,因此您必须更改工作表中的值。对缩放框的引用仅存在于表单范围内。您还可以包含一个
缩放框\u Enter
\u GetFocus
事件,以便对照表单中的值检查工作表中的相关值。