denna handledning visar hur du formaterar datum med VBA.
formatera datum i VBA
det finns två metoder för att formatera datum med VBA.
- egenskapen NumberFormat för celler / intervall – för att formatera datum lagrade i celler
- 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 talformat. Egenskapen NumberFormat kan användas i VBA för att ställa in nummerformat för datum i en cell eller ett intervall.
Obs: För att se de olika standard datumformat som finns i Excel gå till hem >nummer och du ser alternativ som Kort Datum, långt datum och tid.
Kort Datum
Formateringsalternativet kort datumnummer visar datumet i ett kort, numeriskt format.
följande kod kommer att ställa in .NumberFormat egenskap hos cell A1 till Kort Datum:
1
|
räckvidd (”A1”).NumberFormat = ”mm / dd / ÅÅÅÅ”
|
långt datum
långt datumnummer formatering visar datumet i ett längre, skriftligt format. Följande kod kommer att ställa in .NumberFormat egenskap hos cell A1 till långt datum:
1
|
räckvidd (”A1”).NumberFormat = ”dddd, mmmm dd, ÅÅÅÅ”
|
anpassade datum
för att se de anpassade nummerformatkoderna 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 dina egna användardefinierade datumformat. Följande kod kommer att ställa in .NumberFormat-egenskapen för cell A1 till ett inbyggt anpassat datumformat:
1
|
Räckvidd (”A1”).NumberFormat = ”mmm-yy”
|
resultatet är:
följande kod kommer att ställa in .Egenskapen NumberFormat för cell A1, till ett användardefinierat anpassat datumformat:
1
|
räckvidd (”A1”).NumberFormat = ”dddd-dd-mmm-åå”
|
resultatet är:
genom att granska Excels förbyggda exempel kan du lära dig hur nummerformat ska anges. För mer information, läs Microsofts dokumentation om nummerformat för datum.
VBA-Formatfunktion
som nämnts ovan är NumberFormat-metoden lämplig för att ställa in Numberformat för datum som lagras i Excel-celler. I VBA kan du använda Formatfunktionen 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 – nummerformatkoden som anger hur datumet ska visas.
följande kod visar hur du formaterar en textsträngsrepresentation av ett datum så länge datumformat:
1
|
MsgBox-Format(”1/1/2010”, ”dddd, mmmm dd, ÅÅÅÅ”)
|
resultatet är:
Observera att Formatfunktionen använder samma syntax för datumformatering som NumberFormat ovan.
följande kod visar hur du formaterar en textsträngsrepresentation av ett datum som medium datumformat:
1
|
MsgBox-Format (”09 oktober 2012”, ”Medium datum”)
|
resultatet är:
följande kod visar hur du formaterar en textsträngsrepresentation 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 gör att du kan ställa in anpassade format och omedelbart förhandsgranska produktionen för önskat 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 om VBA-programmering!
VBA-Format datum i Access
funktionen VBA-format datum fungerar exakt samma i Access VBA som i Excel VBA.
1
2
3
4
5
6
7
8
9
10
|
funktion GetDateFilter () som sträng
’skapa en sträng för att få information från 2 datumfält på ett formulär i Access
Dim strDateField som sträng
om IsNull(mig.txtSDate) = False sedan
om IsNull(mig.txtEDate) = sant då jag.txtEDate = mig.txtSDate
om strDateField2 = ”” sedan
GetDateFilter = strDateField & ” mellan #” & Format(mig.Txtsdate,” mm/dd/ÅÅÅÅ”) & ”# och # ” & Format(mig.txtEDate, ”mm / dd / ÅÅÅÅ”) & ”#”
Avsluta om
Avsluta om
avsluta funktion
|