web-dev-qa-db-ja.com

最初の数字が0 vbaであっても、数字を2桁にフォーマットする

VBAを使用して、1〜24の任意の数字を2桁の数字として表示できるようにしたいと思います。明らかにこれに問題があるのは1〜9だけで、これを01、02、03などとして表示したいと思います。これを実行する方法はありますか?

9
Chad Portman

整数変数をフォーマットすることはできません。フォーマットには文字列変数を使用する必要があります。

Day関数を使用して日付から日番号を抽出し、Format関数を使用して、"00"必要に応じて先行ゼロを追加する形式

フォーマット(Day(myDate)、 "00")

myDateは完全な日付値を含む日付変数です

次のマクロは、作業サンプルとして使用できます

Sub Macro1()
    Dim myDate As Date

    myDate = "2015-5-1"

    Dim dayPart  As String

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

    MsgBox dayPart
End Sub
19
DeanOC

私はこのようにしました:

number_item = 2
number_item = WorksheetFunction.Text(number_item, "00") 

これは仕事をします。

1
Matti

確かに整数をフォーマットできます。formatコマンド内で文字列に変換するだけです:

formattedIntAsString = Format(Cstr(intValue), "00")
0
PKatona