Ich möchte in der Lage sein, VBA zur Anzeige einer beliebigen Zahl zwischen 1-24 als zweistellige Zahl zu verwenden. Offensichtlich sind die einzigen, die ein Problem damit haben, 1-9, die ich als 01, 02, 03 usw. anzeigen lassen möchte. Gibt es eine Möglichkeit, dies auszuführen?
Sie können eine Ganzzahlvariable nicht formatieren. Sie müssen eine Stringvariable zum Formatieren verwenden.
Sie können den Tagteil eines Datums in ein Format mit führenden Nullen konvertieren. Verwenden Sie dazu die Funktion Day
, um die Tagesnummer aus dem Datum zu extrahieren, und verwenden Sie dann die Funktion Format
mit einem "00"
-Format, um gegebenenfalls eine führende Null hinzuzufügen
Format (Tag (myDate), "00")
myDate ist eine Date-Variable, die den vollständigen Datumswert enthält
Das folgende Makro kann als Arbeitsprobe verwendet werden
Sub Macro1()
Dim myDate As Date
myDate = "2015-5-1"
Dim dayPart As String
dayPart = Format(Day(myDate), "00")
MsgBox dayPart
End Sub
Ich habe es so gemacht:
number_item = 2
number_item = WorksheetFunction.Text(number_item, "00")
Das wird die Arbeit machen.
Natürlich können Sie eine Ganzzahl formatieren, indem Sie sie innerhalb des Formatbefehls in eine Zeichenfolge konvertieren:
formattedIntAsString = Format(Cstr(intValue), "00")