InputBox混淆带字符串的十进制条目

时间:2019-03-06 16:16:10

标签: excel vba

我正在尝试使用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

我试图对两个变量执行数学运算;但是,它只是并排“添加”两个字符串。如何解决此问题?

2 个答案:

答案 0 :(得分:2)

您需要根据预期的输入将变量声明为 <import type="android.view.View"/> <variable name="viewModel" type="wrong.package.name.SViewModel"/> Double

Single

有关更多信息,请参见VBA's data types

此外,我建议在模块的顶部添加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 ,这将迫使您声明所有变量。

答案 1 :(得分:1)

InputBox允许您define the input type。由于您未指定一个,因此使用默认值,即TEXT。

thckmax = Application.InputBox(Prompt:="What is the maximum nominal thickness?", Type:=1)

保证您得到一个数字,最终防止十进制符号混淆。