excel - 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
我正在尝试对两个变量进行数学运算,加法;但是,它只是并排“添加”两个字符串。我该如何解决这个问题?
解决方案
您需要将变量声明为Double
or 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
到模块的最顶部,这会强制您声明所有变量。
推荐阅读
- r - Create group id column using dplyr if numbers between certain values
- scala - 在 IntelliJ 中没有错误的情况下无法为 Scala 创建 SparkSession
- sql - SQL Query - Ensuring my code is correct/Assistance with multiple queries in one Query (Subquerying)
- python - Google colaboratory:无法从 utils 导入“LRN2D”
- java - 简单递归到迭代
- python-3.x - 如何使用 boto3 过滤掉冰川文件?
- c# - 在 CellFormatting 事件中设置 CellStyle 会在鼠标悬停时引发异常
- postgresql - 从 9.3 升级到 9.4 后在 postgresql RDS 上出现 Invalid schema name 错误
- javascript - 一次查询所有数据?
- javascript - 如何在其他页面中显示本地存储的价值?