【发布时间】:2017-12-13 15:34:24
【问题描述】:
我有一个带有文本框的用户窗体,这些文本框已经通过 ControlSource 属性绑定到某些工作表单元格。我需要在其中两个绑定值之间运行计算,并将结果放在第三个工作表单元格中。我知道有很多方法可以做到这一点,但我想知道是否有某种方法可以作为引用 UserForm 控件值的工作表单元格中的公式来做到这一点。例如,我希望能够在单元格 C3 中放置一个公式,类似于
= UserForm1.TextBox1.Value * UserForm1.TextBox2.Value
但我没有找到任何使用工作表单元格公式直接从用户窗体控件获取值的参考。 (不,在这种情况下,我不能通过将“= A1 * B2”之类的内容插入单元格 C3 来引用绑定的单元格。这个问题专门关于从工作表中引用 UserForm 控件是否可行单元格公式。) 提前感谢您提供任何有用的建议。
【问题讨论】:
-
为什么你不能在
C3中使用=A1*B2? -
因为绑定的单元格引用会发生变化,但我希望计算结果始终位于同一个单元格中。我可以在绑定单元格更改时传递它们的地址,并且每次都在 C3 中重写公式,如果必须的话,但是只引用控件本身中的值会容易得多。
-
我在我的回答中展示了一个 UDF,但我仍然认为您可以只使用公式而无需读取控件属性。如果单元格要更改,则使用命名单元格(从而抽象出绝对地址)。让控件绑定到命名范围,并让您的公式引用名称。
标签: excel vba controls formula userform