VBA EXCEL - NUMBERFORMAT无效,但格式功能确实如此

时间:2013-09-03 17:37:51

标签: excel vba format number-formatting

我有一系列名为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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

Excel仅保留数字的前15位数字。你提出的这个数字是26位数,如果将数字存储为文本,Excel将保留前15位数后的数字的唯一方法。因此,数字格式将无法使用,因为Excel将其视为文本字符串,而不是数字。