我有一系列名为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
答案 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将其视为文本字符串,而不是数字。