Tämä opetusohjelma osoittaa, kuinka päivämäärät muotoillaan VBA: n avulla.
Muotoile päivämäärät VBA: ssa
Päivämäärien muotoilemiseen VBA: n avulla on kaksi tapaa.
- Solujen / alueiden NumberFormat -ominaisuus - soluihin tallennettujen päivämäärien muotoilu
- VBA Format -toiminto - päivämäärien muotoilu VBA: ssa (esim. Muuttujat)
NumberFormat - Päivämäärät
Excelin solun oletuslukumuoto on Yleinen. Voit näyttää arvot numeroina, tekstinä, päivämäärinä, prosentteina tai valuuttoina muuttamalla numeromuotoa. NumberFormat -ominaisuutta voidaan käyttää VBA: ssa määrittämään solun tai alueen päivämäärien lukumuoto.
Huomautus: Jos haluat nähdä Excelissä saatavilla olevat erilaiset vakiopäivämäärät, siirry kohtaan Etusivu> Numero ja näet vaihtoehtoja, kuten Lyhyt päivämäärä, Pitkä päivämäärä ja aika.
Lyhyt päivämäärä
Lyhyt päivämäärän muotoilu -vaihtoehto näyttää päivämäärän lyhyessä, numeerisessa muodossa.
Seuraava koodi asettaa solun A1 .NumberFormat -ominaisuuden arvoksi Lyhyt päivämäärä:
1 | Alue ("A1"). NumberFormat = "mm/dd/yyyy" |
Pitkä päivämäärä
Pitkän päivämäärän muotoilu näyttää päivämäärän pidemmässä, kirjoitetussa muodossa. Seuraava koodi asettaa solun A1 .NumberFormat -ominaisuudeksi Pitkä päivämäärä:
1 | Alue ("A1"). NumberFormat = "dddd, mmmm dd, yyyy" |
Mukautetut päivämäärät
Jos haluat nähdä mukautetut numeromuotokoodit, joita voit käyttää VBA: ssa päivämäärien muotoiluun, siirry kohtaan Etusivu> Numero ja napsauta valintaikkunan käynnistysohjelmaa. Valitse Numero -välilehti ja valitse Mukautettu.
Voit joko valita mukautetut sisäänrakennetut muodot päivämäärälle tai luoda omat käyttäjän määrittämät päivämäärämuodot. Seuraava koodi asettaa solun A1 .NumberFormat-ominaisuuden sisäänrakennetuksi mukautetuksi päivämäärämuodoksi:
1 | Alue ("A1"). NumberFormat = "mmm-yy" |
Tulos on:
Seuraava koodi asettaa solun A1 .NumberFormat -ominaisuuden käyttäjän määrittämään mukautettuun päivämäärämuotoon:
1 | Alue ("A1"). NumberFormat = "dddd-dd-mmm-yy" |
Tulos on:
Tarkastelemalla Excelin valmiita esimerkkejä voit oppia, kuinka NumberFormats tulee syöttää. Lisätietoja on Microsoftin dokumentaatiossa päivämäärien numeromuodoista.
VBA -muoto
Kuten edellä mainittiin, NumberFormat -menetelmä soveltuu Excel -soluihin tallennettujen päivämäärien lukumuotojen asettamiseen. VBA: ssa muotoilutoiminnon avulla voit muuntaa päivämäärät merkkijonoiksi, joilla on tietty päivämäärän muotoilu.
Käytät seuraavaa syntaksia päivämäärien muotoiluun:
Muoto (String_Representation, NumberFormatCode) missä:
String_Representation - päivämäärää edustava tekstimerkkijono.
NumberFormatCode - numeromuotoinen koodi, joka määrittää päivämäärän näyttämistavan.
Seuraava koodi näyttää kuinka muotoilla päivämäärän tekstimerkkijonon esitys pitkäksi päivämäärän muotoksi:
1 | MsgBox -muoto ("1.1.2010", "dddd, mmmm dd, yyyy") |
Tulos on:
Huomaa, että Muoto -funktio käyttää samaa päivämäärän muotoilun syntaksia kuin yllä oleva NumberFormat.
Seuraava koodi näyttää kuinka muotoilla päivämäärän tekstijonoesitys keskipitkäksi päivämäärämuodoksi:
1 | MsgBox -muoto ("9. lokakuuta 2012", "Keskikokoinen päivämäärä") |
Tulos on:
Seuraava koodi näyttää, miten päivämäärän tekstimerkkijono esitetään käyttäjän määrittämäksi muotoksi:
1 | MsgBox -muoto ("9. lokakuuta 2012", "dddd: pp/kk/vv") |
VBA Custom Format Builder
VBA-apuohjelmamme: AutoMacro sisältää mukautetun muodonmuodostimen VBA-editorille. Tämän avulla voit asettaa mukautettuja muotoja ja esikatsella välittömästi haluamasi arvon tulosta:
VBA-apuohjelma sisältää lukuisia muita "koodigeneraattoreita", laajan koodikirjaston ja valikoiman muita koodaustyökaluja. Se on paras lisäosa kaikille VBA-ohjelmoinnista tosissaan!
VBA -muodon päivämäärä Accessissa
VBA Format Date -toiminto toimii täsmälleen samalla tavalla Access VBA: ssa kuin Excel VBA: ssa.
12345678910 | Toiminto GetDateFilter () merkkijonona'Luo merkkijono saadaksesi tietoja Accessin lomakkeen kahdesta päivämääräkentästäHimmennä strDateField merkkijononaJos IsNull (Me.txtSDate) = False thenJos IsNull (Me.txtEDate) = True niin Me.txtEDate = Me.txtSDateJos strDateField2 = "" SittenGetDateFilter = strDateField & "Between #" & Format (Me.txtSDate, "mm/dd/yyyy") & " # And #" & Format (Me.txtEDate, "mm/dd/yyyy") & " #"Loppu JosLoppu JosLopeta toiminto |