VBA -format Datum

Denna handledning visar hur du formaterar datum med VBA.

Formatdatum i VBA

Det finns två metoder för att formatera datum med VBA.

  1. Egenskapen NumberFormat för celler / intervall - För att formatera datum som lagras i celler
  2. Funktionen VBA -format - För att formatera datum i VBA (ex. Variabler)

NumberFormat - datum

Standardnummerformatet för en cell i Excel är Allmänt. Du kan visa värden som siffror, text, datum, procentsatser eller valutor genom att ändra nummerformatet. Egenskapen NumberFormat kan användas i VBA för att ställa in datumformat i en cell eller intervall.

Notera: För att se de olika standarddatumformaten som finns tillgängliga i Excel, gå till Hem> Nummer och du kommer att se alternativ som kort datum, långt datum och tid.


Kort datum

Alternativet Kort datumnummerformatering visar datumet i ett kort, numeriskt format.

Följande kod anger egenskapen .NumberFormat för cell A1 till Kort datum:

1 Område ("A1"). NumberFormat = "mm/dd/åååå"

Långt datum

Långt datumnummerformatering visar datumet i ett längre, skriftligt format. Följande kod anger egenskapen .NumberFormat för cell A1 till Långt datum:

1 Område ("A1"). NumberFormat = "dddd, mmmm dd, åååå"

Anpassade datum

För att se anpassade nummerformatkoder som du kan använda i VBA för att formatera datum, gå till Hem> Nummer och klicka på dialogrutan Launcher. Välj fliken Nummer och välj Anpassad.

Du kan antingen välja anpassade inbyggda format för ditt datum eller skapa egna användardefinierade datumformat. Följande kod anger egenskapen .NumberFormat för cell A1 till ett inbyggt anpassat datumformat:

1 Område ("A1"). NumberFormat = "mmm-åå"

Resultatet är:

Följande kod anger egenskapen .NumberFormat för cell A1 till ett användardefinierat anpassat datumformat:

1 Område ("A1"). NumberFormat = "dddd-dd-mmm-åå"

Resultatet är:

Genom att granska Excel: s förbyggda exempel kan du lära dig hur NumberFormats ska anges. Mer information finns i Microsofts dokumentation om nummerformat för datum.

VBA -formatfunktion

Som nämnts ovan är NumberFormat -metoden lämplig för inställning av nummerformat för datum som lagras i Excel -celler. I VBA kan du använda formateringsfunktionen för att konvertera datum till strängar med viss datumformatering.

Du skulle använda följande syntax för att formatera datum:

Format (String_Representation, NumberFormatCode) där:

String_Representation - textsträngen som representerar datumet.

NumberFormatCode - nummerformatskoden som anger hur datumet ska visas.

Följande kod visar hur du formaterar en textsträngrepresentation av ett datum som ett långt datumformat:

1 MsgBox -format ("1/1/2010", "dddd, mmmm dd, åååå")

Resultatet är:

Lägg märke till att formatfunktionen använder samma datumformateringssyntax som NumberFormat ovan.

Följande kod visar hur du formaterar en textsträngrepresentation av ett datum som medeldatumformat:

1 MsgBox -format ("09 oktober 2012", "Medeldatum")

Resultatet är:

Följande kod visar hur du formaterar en textsträngrepresentation av ett datum som ett användardefinierat format:

1 MsgBox -format ("09 oktober 2012", "dddd: dd/mm/åå")

VBA Custom Format Builder

Vårt VBA-tillägg: AutoMacro innehåller en anpassad formatbyggare för VBA-redigeraren. Detta låter dig ställa in anpassade format och omedelbart förhandsgranska utmatningen för ditt önskade värde:

VBA-tillägget innehåller många andra "kodgeneratorer", ett omfattande kodbibliotek och ett sortiment av andra kodningsverktyg. Det är det ultimata tillägget för alla som är seriösa med VBA-programmering!

VBA -format Datum i åtkomst

Funktionen VBA Format Date fungerar exakt samma i Access VBA som i Excel VBA.

12345678910 Funktion GetDateFilter () som sträng'skapa en sträng för att få information från två datumfält på ett formulär i AccessDim strDateField som strängIf IsNull (Me.txtSDate) = False ThenIf IsNull (Me.txtEDate) = True Then Me.txtEDate = Me.txtSDateOm strDateField2 = "" DåGetDateFilter = strDateField & "Between #" & Format (Me.txtSDate, "mm/dd/yyyy") & " # And #" & Format (Me.txtEDate, "mm/dd/yyyy") & " #"Avsluta omAvsluta omAvsluta funktion

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave