【发布时间】:2015-06-29 07:46:32
【问题描述】:
我正在使用 VBA 生成 Excel 文件的摘要。此摘要包含部分(n 变量)和位置(x 变量)。我正在检查单元格是否为空,如果不是,我正在写它的部分/编号,所以表格看起来像 1.1 正文 1.2 正文 ... 1.10 正文 所以。但是在使用代码时:
Offset(z, 0).Value = n & "." & x
我得到 1,1 1,2 昏迷而不是点。如何强制一个点?
【问题讨论】:
我正在使用 VBA 生成 Excel 文件的摘要。此摘要包含部分(n 变量)和位置(x 变量)。我正在检查单元格是否为空,如果不是,我正在写它的部分/编号,所以表格看起来像 1.1 正文 1.2 正文 ... 1.10 正文 所以。但是在使用代码时:
Offset(z, 0).Value = n & "." & x
我得到 1,1 1,2 昏迷而不是点。如何强制一个点?
【问题讨论】:
在这种情况下,Excel 将点视为数字(小数分隔符)的一部分,并将其转换为系统的默认值,即逗号。您需要强制 excel 将单元格值视为文本。
两个选项如下:
Offset(z, 0).Value = "'" & n & "." & x
或
Offset(z, 0) = "@"
Offset(z, 0).Value = n & "." & x
第一个在单元格内容/值前面添加单引号,这导致 Excel 将这些视为文本。第二个将单元格格式更改为文本,然后再更改其值。
【讨论】:
试试Offset(z, 0).value = n & chr(46) & x
【讨论】: