不在Userform

时间:2017-06-21 15:46:58

标签: vba excel-vba excel-formula userform calculated-field

有人可以帮帮我吗。

我有一个userform,它有许多数字字段。问题是我的总计框不会计算它们,因为它将数字识别为文本。因此,例如,如果我要说HE.Value(10)+ ME.Value(10)例如应该= 20但是Total将到达1010.如果我*它而不是我收到错误调试,因为它将值识别为文本格式。

之前我从未在userform中遇到此问题。有人能帮忙吗?

谢谢,

1 个答案:

答案 0 :(得分:2)

你有:

totalBox.Text = box1.Text + box2.Text

当两个操作数为String时,+运算符用作字符串连接运算符,这意味着它与&运算符完全相同。这就是{j}代替1010的方式:VBA认为您要求连接字符串。

VBA无法对字符串进行算术运算,因此如果您的字符串代表数值,则需要先将其转换。

如果您只使用整数,则可以使用20类型转换功能执行此操作:

CLng

请注意,这使得返回字符串转换显式(totalBox.Text = CStr(CLng(box1.Text) + CLng(box2.Text)) );保留它,VBA将隐式执行该类型转换。