【发布时间】:2019-05-12 17:59:53
【问题描述】:
在 excel VBA 中,如何显示以下数字而不在单元格中生成“数字存储为文本”错误?
1.0
1.1
1.2
.
.
1.99
1.100
1.101
1.102
.
.
1.20
1.21
1.22
.
.
etc...
【问题讨论】:
-
您系统上的小数点分隔符可以是逗号吗?
1,1会发出同样的警告吗? Excel 使用“区域设置”来确定用于格式化数字和日期的字符。分隔函数参数的字符是“列表分隔符”字符 - 在“en-US”配置中,这是一个逗号,但“十进制分隔符”是一个点。在其他配置中,小数分隔符可能是逗号,列表分隔符可能是分号。 VBA 代码非常以美国为中心,但 Excel 使用系统设置。 -
也就是说,edit 在您的帖子中包含一个简短示例(请参阅minimal reproducible example)是您用来将数字写入工作表单元格并获取这些“数字存储”的代码的简短示例(参见minimal reproducible example)作为文本”警告。如果您的代码将数值分配给
Range.Value,则应该没有任何理由发生这种情况。 -
它们真的是数字,还是它们识别出您错误地认为是数字的标记?
-
X-Y 问题。您在问如何格式化数字,真正的问题是如何关闭 Excel 中的功能?这个问题与编程无关。
-
其实AJD你是对的。它们是标记,但 excel 认为它们是数字并抛出错误。如果我转换为文本,我会收到错误消息。我想停止错误。