2

我有一系列名为 MyCells 的单元格作为字符串类型。其中有 26 位数字的字符串。

为什么使用 NumberFormat 的第一个语句(如下)不起作用,但第二个语句起作用?

尝试单元格如下所示:

38935094000163001000052234 --> 38.935.094/0001-63 001 000052234

第一次尝试(没用):

range(MyCells).Select

Selection.NumberFormat = "00"".""000"".""000""/""0000""-""00""   ""000""   ""000000000"

第二(成功):

range(MyCells).Select

For Each c In Selection
    c = Format(c, "00"".""000"".""000""/""0000""-""00""   ""000""   ""000000000")
Next
4

2 回答 2

1

“Format 函数使用的格式代码字符串与 NumberFormat 和 NumberFormatLocal 属性不同。” 来自http://msdn.microsoft.com/en-us/library/office/aa224873%28v=office.11​​%29.aspx

于 2013-09-03T17:57:58.247 回答
0

Excel 只保留前 15 位数字。您输入的数字是 26 位数字,Excel 保留前 15 位数字之后的数字的唯一方法是将其存储为文本。因此,数字格式将不起作用,因为 Excel 将其视为文本字符串,而不是数字。

于 2013-09-03T18:24:29.997 回答