web-dev-qa-db-de.com

Eine Zahl mit zwei Ziffern formatieren, auch wenn die erste eine vba ist

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?

8
Chad Portman

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
17
DeanOC

Ich habe es so gemacht:

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

Das wird die Arbeit machen.

1
Matti

Natürlich können Sie eine Ganzzahl formatieren, indem Sie sie innerhalb des Formatbefehls in eine Zeichenfolge konvertieren:

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