我需要在数字列表中保留前导零。这些数字是这样添加的(在循环中,但这只是使用(1,1)的一个例子:
Set cel = Sheet.worksh.Cells(1, 1)
cel.ColumnWidth = 10
cel.Value = e.Name
cel.NumberFormat = "0000"
e.Name
是数字,例如“0720”。这显示在工作表上就好了,但是如果我做这样的事情:
Msgbox Sheet.worksh.Cells(1, 1).Value
我得到“720”。我需要它是“0720”,我知道我可以使用Len()
进行检查,并以这种方式添加零,但我想知道是否有更直接的方法使用Range对象来为我做这个。< / p>
答案 0 :(得分:25)
您将数字与其文字表示混淆。
您需要.Text
属性,而不是.Value
,但是you might have problems with it。
答案 1 :(得分:13)
使用此:
Msgbox Format(Sheet.worksh.Cells(1,1).Value, "0000")
答案 2 :(得分:7)
更好的是,如果您不确定格式是什么:
Msgbox格式(Sheet.worksh.Cells(1,1).Value,Sheet.worksh.Cells(1,1).NumberFormat)
答案 3 :(得分:0)
聚会晚了一点,但是您总是可以尝试分别调用值和数字格式,例如:
Msgbox Application.WorksheetFunction.Text(Sheet.worksh.Cells(1, 1).Value,Sheet.worksh.Cells(1,1).NumberFormat)