acest tutorial va demonstra cum să formatați datele folosind VBA.
formatați datele în VBA
există două metode de formatare a datelor utilizând VBA.
- proprietatea NumberFormat a celulelor / intervalelor – pentru a formata datele stocate în celule
- funcția de Format VBA – pentru a formata datele în VBA (ex. variabile)
NumberFormat-date
formatul de număr implicit al unei celule în Excel este General. Puteți afișa valori ca numere, text, date, procente sau valute modificând formatul numărului. Proprietatea NumberFormat poate fi utilizată în VBA pentru a seta formatul numărului de date într-o celulă sau interval.
notă: pentru a vedea diferitele formate de date standard disponibile în Excel, Accesați numărul Home >și veți vedea opțiuni precum Data scurtă, Data lungă și ora.
Data scurtă
opțiunea Formatare Număr dată scurtă afișează data într-un format numeric scurt.
următorul cod va seta .Proprietatea NumberFormat a celulei A1 la data scurtă:
1
|
interval („A1”).NumberFormat = „ll/zz/aaaa”
|
Long Date
long date number formatarea afișează data într-un format scris mai lung. Următorul cod va seta .Proprietatea NumberFormat a celulei A1 până la data lungă:
1
|
interval („A1”).NumberFormat = „dddd, mmmm zz, aaaa”
|
date personalizate
pentru a vedea codurile de format de număr personalizate pe care le puteți utiliza în VBA pentru a formata datele, accesați Acasă> număr și faceți clic pe caseta de Dialog lansator. Selectați fila număr și alegeți Personalizat.
puteți fie să selectați formatele încorporate personalizate pentru data dvs., fie să creați propriile formate de date definite de utilizator. Următorul cod va seta .Proprietatea NumberFormat a celulei A1 la un format de dată personalizat încorporat:
1
|
Interval („A1”).NumberFormat = „mmm-yy”
|
rezultatul este:
următorul cod va seta .Proprietatea NumberFormat a celulei A1, la un format de dată personalizat definit de utilizator:
1
|
interval („A1”).NumberFormat = „dddd-DD-mmm-AA”
|
rezultatul este:
examinând exemplele pre-construite din Excel, puteți afla cum ar trebui introduse NumberFormats. Pentru mai multe informații, citiți documentația Microsoft privind formatele de numere pentru date.
funcția Format VBA
după cum sa menționat mai sus, metoda NumberFormat este adecvată pentru setarea Numberformat de date stocate în celulele Excel. În VBA, puteți utiliza funcția Format pentru a converti datele în șiruri cu o anumită formatare a datei.
veți folosi următoarea sintaxă pentru a formata datele:
Format (String_Representation, NumberFormatCode) unde:
String_Representation – șirul de text care reprezintă data.
NumberFormatCode – codul formatului numărului care specifică modul în care trebuie afișată data.
următorul cod arată cum să formatați o reprezentare șir de text a unei date ca format de dată lungă:
1
|
format MsgBox(„1/1/2010”, „dddd, mmmm zz, aaaa”)
|
rezultatul este:
observați că funcția Format utilizează aceeași sintaxă de formatare a datei ca și Numeroformatul de mai sus.
următorul cod arată cum să formatați o reprezentare șir de text a unei date ca format de dată mediu:
1
|
format MsgBox(„09 octombrie 2012”, „Data medie”)
|
rezultatul este:
următorul cod arată cum să formatați o reprezentare șir de text a unei date ca format definit de utilizator:
1
|
format MsgBox („09 octombrie 2012″, ” dddd: ZZ/LL / AAAA”)
|
VBA custom format Builder
nostru VBA Add-in: AutoMacro conține un constructor Format personalizat pentru editorul VBA. Acest lucru vă permite să setați formate personalizate și previzualizați imediat ieșirea pentru valoarea dorită:
suplimentul VBA conține numeroase alte „generatoare de coduri”, o bibliotecă extinsă de coduri și un sortiment de alte instrumente de codificare. Este final add-in pentru oricine serios despre programare VBA!
Data formatului VBA în Access
funcția Data formatului VBA funcționează exact la fel în Access VBA ca în Excel VBA.
1
2
3
4
5
6
7
8
9
10
|
funcția GetDateFilter () ca String
‘creați un șir pentru a obține informații de la 2 câmpuri de date pe un formular în Access
Dim strDateField ca String
dacă IsNull(mă.txtSDate) = fals atunci
dacă IsNull(mă.txtEDate) = adevărat atunci eu.txtEDate = eu . txtSDate
dacă strDateField2 = „” atunci
GetDateFilter = strDateField & ” între #” & Format(mă.txtSDate,” ll/zz/aaaa”) & „# și # ” & Format(mă.txtedata, „ll/zz/aaaa”) & „#”
sfârșit dacă
sfârșit dacă
sfârșit funcție
|