即使第一个是0 vba,也要将数字格式化为两位数

Cha*_*man 9 excel formatting vba string-formatting excel-vba

我希望能够使用VBA在1-24之间显示任意数字作为2位数字.显然,唯一有问题的是1-9,我想显示为01,02,03等.有没有办法执行此操作?

Dea*_*nOC 19

您不能格式化整数变量,您需要使用字符串变量进行格式化.

您可以将日期的日期部分转换为具有前导零的格式,使用该Day函数从日期中提取日期编号,然后使用Format具有"00"格式的函数在必要时添加前导零

格式(日(myDate),"00")

myDate是一个包含完整Date值的Date变量

以下宏可用作工作样本

Sub Macro1()
    Dim myDate As Date

    myDate = "2015-5-1"

    Dim dayPart  As String

    dayPart = Format(Day(myDate), "00")

    MsgBox dayPart
End Sub
Run Code Online (Sandbox Code Playgroud)


PKa*_*ona 5

当然你可以格式化一个整数,你只需在 format 命令中将它转换为字符串:

formattedIntAsString = Format(Cstr(intValue), "00")
Run Code Online (Sandbox Code Playgroud)