VBA Excel 将数字格式化为字符串
VBA Excel formatting numbers to strings
在 sheet 1 中,值是 45
所以我想在 sheet 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"))
您可以通过两 (2) 种方式做到这一点:
先设置数字格式
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,但总是 returnn,在第二种情况下,您做的完全相同,然后您转换结果到一个字符串。
您必须先将 n 转换为字符串。所以在你的情况下:
Worksheets("RESULTADO").Range("B" & row_counter) = Format(CStr(Worksheets(1).Range("B" & row_counter).Value), "0000")
在 sheet 1 中,值是 45
所以我想在 sheet 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"))
您可以通过两 (2) 种方式做到这一点:
先设置数字格式
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,但总是 returnn,在第二种情况下,您做的完全相同,然后您转换结果到一个字符串。 您必须先将 n 转换为字符串。所以在你的情况下:
Worksheets("RESULTADO").Range("B" & row_counter) = Format(CStr(Worksheets(1).Range("B" & row_counter).Value), "0000")