2015-04-06 91 views
1

在表1的值是45所以我在片RESULTADO想这样的格式:0045VBA的Excel格式的数字为字符串

Worksheets("RESULTADO").Range("B" & row_counter) = Format(Worksheets(1).Range("B" & row_counter).Value, "0000") 

为什么这不起作用?

我试过也是这个,但是没有它的工作原理:

Worksheets("RESULTADO").Range("B" & row_counter) = CStr(Format(Worksheets(1).Range("B" & row_counter).Value, "0000")) 

回答

1

你可以做,在两(2)方法:

  1. 设置数字格式第一

    With Worksheets("RESULTADO").Range("B" & row_counter) 
        .NumberFormat = "@" 
        .Value = Format(Worksheets(1).Range("B" & row_counter).Value, "0000") 
    End With 
    
  2. 使用'撇号

    Worksheets("RESULTADO").Range("B" & row_counter) = "'" & _ 
        Format(Worksheets(1).Range("B" & row_counter).Value, "0000") 
    
0

这并不在你试图格式化数n,以00N总是至极第一种情况下,因为工作回到N,在第二种情况下,你做的完全一样的,那么你transtype的结果一个字符串。 您必须先将n转换为字符串。所以在你的情况下:

Worksheets("RESULTADO").Range("B" & row_counter) = Format(CStr(Worksheets(1).Range("B" & row_counter).Value), "0000")