我正在尝试使用InputBox 函数来让用户输入数据。然而,数据主要由十进制值组成。当我测试我的程序并减去两个值时,这两个值都是从 InputBox 输入的,它不执行数学运算。
thckmax = InputBox("What is the maximum nominal thickness?", "Enter Max Nominal Thickness Measurement")
thckmin = InputBox("What is the minimum nominal thickness?", "Enter Min Nominal Thickness Measurement")
thcknom = (thckmax + thckmin)
如果我分别输入 .05 和 .04,它会将前面的代码显示为:
thcknom is .05.04
我正在尝试对两个变量执行数学运算,即加法;然而,它只是并排“添加”两个字符串。如何解决这个问题?
最佳答案
您需要将变量声明为 Double
或 Single
,具体取决于预期的输入:
Sub t()
Dim thckmax As Double, thckmin As Double, thcknom As Double
thckmax = InputBox("What is the maximum nominal thickness?", "Enter Max Nominal Thickness Measurement")
thckmin = InputBox("What is the minimum nominal thickness?", "Enter Min Nominal Thickness Measurement")
thcknom = (thckmax + thckmin)
Debug.Print thcknom
End Sub
参见VBA's data types了解更多信息。
此外,我建议将 Option Explicit
添加到模块的最顶部,这会强制您声明所有变量。
关于excel - 输入框将十进制条目与字符串混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55027629/