【发布时间】:2020-06-12 21:21:38
【问题描述】:
我很难让 Len() 函数给出正确的数字长度。
有困难的代码部分在这里:
Spec = Len(Range("J8")) - x
intermit = Range("I8") - Range("J8")
Low = Len(intermit)
MsgBox "Lower Spec: " & intermit & " Length: " & Low
intermit = Range("I8") + Range("J8")
High = Len(WorksheetFunction.Text(intermit, 0))
MsgBox "Upper Spec: " & intermit & " Length: " & High
范围("I8") = 0.0140
范围(“J8”)= 0.0002
消息框应该显示以下内容:
低规格:0.0138 长度:6
规格上限:0.0142 长度:6
但是他们正在显示:
低规格:0.0138 长度:8
规格上限:0.0142 长度:8
我尝试将间歇变量转换为文本,但它会返回为 0。我不知道函数计数的额外 2 个字符是从哪里来的。
【问题讨论】:
-
您的单元格中显示的值是否可能不是单元格中保存的 实际 值?单元格格式可以使它们不同...
-
如果我将这些值复制到
I8和J8,输出为:"Lower Spec: 0.0138 Length: 6"和"Upper Spec: 0.0142 Length: 1"... -
问题远不止您所显示的 - 我无法使用提供的代码重现
8输出。 -
*和数字输入
-
@TimWilliams 单元格的格式一般。我做了一个临时的。显示数字和长度的消息框,它显示是正确的。 (0.014 和 5)