VBA Excel将数字格式化为string
在工作表1中的值是45
所以我想在工作表RESULTADO像这样的格式: 0045
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"))
您可以通过以下两种方式来实现这一点:
-
首先设置数字格式
With Worksheets("RESULTADO").Range("B" & row_counter) .NumberFormat = "@" .Value = Format(Worksheets(1).Range("B" & row_counter).Value, "0000") End With
-
使用
'
撇号”Worksheets("RESULTADO").Range("B" & row_counter) = "'" & _ Format(Worksheets(1).Range("B" & row_counter).Value, "0000")
这是行不通的,因为在第一种情况下,你试图将数字n格式化为00n,并且总是返回n,在第二种情况下,你完全一样,然后把结果转换成string。 您必须首先将n转换为string。 所以在你的情况下:
Worksheets("RESULTADO").Range("B" & row_counter) = Format(CStr(Worksheets(1).Range("B" & row_counter).Value), "0000")