重新整理文本框中的总和

时间:2018-07-20 21:18:10

标签: excel excel-vba controls userform

我有一个带有refedit,文本框和命令按钮控件的用户窗体。

我希望用户能够使用refEdit控件从活动工作表中选择一个单元格区域,并且当选择了范围值时,其值的总和将显示在文本框中。

一旦选择了范围的总和,用户将单击命令按钮,该按钮应从文本框中复制值,关闭当前的UserForm,打开另一个UserForm并将该值粘贴到文本框中

但是,当我单击refEdit控件时,它仅通过最小化用户窗体直到单击该按钮,才显示refEdit文本框。如何防止这种情况发生?

此外,我为文本框编写的代码不起作用,实际上它没有任何作用:

Private Sub RefEdit1_Change()
     txtbxSum.Value = Sum(RefEdit1.Value)
End Sub

谢谢!

1 个答案:

答案 0 :(得分:0)

RefEdit控件存在问题,因此它可能不是最佳设计选择。正如Ashleedawg所说,see here

也就是说,RefEdit.Value属性是代表所选范围的字符串。所以总结一下您需要使用的范围

Private Sub RefEdit1_Change()
    txtbxSum.Value = Application.Sum(Range(RefEdit1.Value))
End If

请注意,RefEdit1_Change会在每次“选定范围”更改时触发(因此,如果用户将鼠标拖动到3个单元格范围内,它将触发3次)。如果您还有一个txtbxSum_Change事件,它将在每次refedit1_Change事件更新 具有新值的文本框,即随着所选范围的总和发生变化。