我希望能够使用VBA在1-24之间显示任意数字作为2位数字。显然,唯一有问题的是1-9,我想显示为01,02,03等。有没有办法执行此操作?
答案 0 :(得分:17)
您无法格式化整数变量,您需要使用字符串变量进行格式化。
您可以使用Day
函数将日期的日期部分转换为带前导零的格式,以从日期中提取日期编号,然后使用Format
函数将{{1} }}格式在必要时添加前导零
格式(Day(myDate)," 00")
myDate是一个Date变量,包含完整的Date值
以下宏可用作工作样本
"00"
答案 1 :(得分:1)
我是这样做的:
number_item = 2
number_item = WorksheetFunction.Text(number_item, "00")
这将完成这项工作。
答案 2 :(得分:0)
确定可以格式化整数,只需在format命令中将其转换为字符串即可:
formattedIntAsString = Format(Cstr(intValue), "00")
答案 3 :(得分:0)
我知道它已经很老了,但是,为了回答明确的问题,我将使用内置的日期格式化功能。
修改DeanOC的答案:
Sub Macro1()
Dim dateDate As Date
Dim strDate As String
Dim strDay As String
dateDate = "2015-5-1"
strDate = Format(dateDate, "mm/dd/yy") ' = "05/01/15"
strDay = Format(dateDate, "dd") ' = "01"
MsgBox "The two digit day of """ & strDate & """ is """ & strDay & ""."
End Sub