如何在Workbench中格式化VBA中的Excel单元格值?

我需要在数字列表中保持前导零。 数字是这样添加的(在一个循环中,但是这只是一个使用(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()并添加零的方式,但我想知道是否有一个更直接的方法与范围对象,将为我做这个。

用这个:

 Msgbox Format(Sheet.worksh.Cells(1,1).Value, "0000") 

你把一个数字与它的文本表示混淆起来。

您需要.Text属性,而不是.Value ,但是, 您可能会遇到问题 。

更好的是,如果你不确定格式是什么:

Msgbox格式(Sheet.worksh.Cells(1,1).Value,Sheet.worksh.Cells(1,1).NumberFormat)