VBA -muotoinen päivämäärä

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.

  1. Solujen / alueiden NumberFormat -ominaisuus - soluihin tallennettujen päivämäärien muotoilu
  2. 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

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave