首页 > 解决方案 > InputBox 将 Decimal 条目与字符串混淆

问题描述

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

我正在尝试对两个变量进行数学运算,加法;但是,它只是并排“添加”两个字符串。我该如何解决这个问题?

标签: excelvba

解决方案


您需要将变量声明为Doubleor 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 的数据类型

另外,我建议添加Option Explicit到模块的最顶部,这会强制您声明所有变量。


推荐阅读