如果有人可以帮助简单计算使用VBA,我将不胜感激。我现在的情况是,我想作一个简单的计算如下VBA计算 - 简单计算
area = inner_dia * height
当过我的inner_dia,50和高度,50进入,正确的答案应该2,500;但是我的答案是15,300。请帮助我哪里出了错,我从哪里可以学到更多,使使用VBA(如使用自然对数,PI等)
预先感谢您
如果有人可以帮助简单计算使用VBA,我将不胜感激。我现在的情况是,我想作一个简单的计算如下VBA计算 - 简单计算
area = inner_dia * height
当过我的inner_dia,50和高度,50进入,正确的答案应该2,500;但是我的答案是15,300。请帮助我哪里出了错,我从哪里可以学到更多,使使用VBA(如使用自然对数,PI等)
预先感谢您
写在即时窗口中复杂的计算:
inner_dia = 50
height = 50
area = inner_dia * height
?area
编辑: CommandButton1的是命令按钮 tb_height的名称和tb_inner_dia是文本框。
Option Explicit
Private Sub CommandButton1_Click()
MsgBox tb_height.Value * tb_inner_dia.Value
End Sub
感谢您的帮助。但是我忘了提及我正在创建一个用户表单,因此它需要用户将值输入到高度文本框和inner_dia文本框中。我需要配置文本框吗? – takiyasamsama
'inner_dia = 50'强制类型为16位整数。更好的方法是'inner_dia = 50#'和'height = 50#'来强制浮点数。 – ja72
嗨,大家好。我似乎发现了一个非常奇怪的解决方案来解决我自己的问题。我发现将我的文本框命名为“高度”是问题所在。我对问题进行了故障排除,并将文本框名称从“高度”更改为“hei”,并且计算没有问题。有人能向我强调什么似乎是问题?在将我的文本框命名为高度时是否有任何限制? – takiyasamsama
您的文本框会返回字符串值。您需要将字符串转换为浮点数,然后进行计算,然后格式化答案。
见下文实例:
Dim inner_dia as Double, height as Double
inner_dia = Val(TextBox1.Text)
height = Val(TextBox2.Text)
Dim result as Double
result = inner_dia * height
TextBox3.Text = Format(result, "0.000")
将是有益的,如果你要提供你所使用的全部代码。 –
请显示您的类型定义(您的'Dim'语句) – ja72
可能的相关问题:http://stackoverflow.com/q/31816396/380384 – ja72