excel - 输入框将十进制条目与字符串混淆

标签 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

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

最佳答案

您需要将变量声明为 DoubleSingle,具体取决于预期的输入:

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/

相关文章:

excel - *.xlsx 文件何时以及为何包含 *.bin 文件?

C# - 如何迭代 Excel._Worksheet 中的所有行?

database - VBA Excel 语法错误查询表达式插入语句中缺少运算符

json - 如何在 Excel VBA 中从这个简单的 JSON 字符串中提取值?

vba - Excel 不会自动适应 45º 文本

VBA事件: load workbook before running code using workbook_open

regex - Excel 或 Google 公式计算文本字符串中 8 位数字的出现次数

javascript - Excel Office.js 中的单元格/列宽度

python - 通过 Python 模块 xlwt 更改 xls 文件中的默认分页符

excel - VBA 使用 2 个工作表中的不同页面设置打印作业