Kaip galime formatuoti datą per VBA?

Anonim

Šiame straipsnyje mes sužinosime, kaip formatuoti datą per VBA.

Paimkime pavyzdį, kad suprastume, kaip ir kur galime formatuoti langelį trumpu datos numeriu.

Turime produkto kiekio duomenų diapazone A1: C9, kuriame A stulpelyje yra produkto pavadinimas, o B stulpelyje - jo kiekis, o C stulpelyje - data. Dabar norime konvertuoti į trumpą datos formatą.

Norėdami parašyti makrokomandą, atlikite toliau nurodytus veiksmus:-

  • Atidarykite VBA puslapį paspausdami klavišą Alt+F11.
  • Įdėkite modulį.
  • Parašykite žemiau nurodytą kodą:

SubformatasShortdate ()

Dim Sh kaip darbalapis

Nustatykite Sh = ThisWorkbook.Sheets (1)

Sh.Range ("C2: C9"). NumberFormat = "m/d/yyyy"

Pabaiga Sub

Kodo paaiškinimas:-

Pirma, mes nurodėme kodo temą, tada mes nustatėme visus kintamuosius, po to mes apibrėžėme diapazoną, kuriame norime įdėti trumpą datos formatą.

Norėdami paleisti makrokomandą, paspauskite klavišą F5 ir diapazono formatas bus pakeistas į trumpą datos formatą.

Paimkime pavyzdį iš www.excelforum.com

Makro/VBA pakeisti datos formatą nuo 2011 01 01 iki 2011 01 01

Originalus klausimas:-

Turiu „Excel“ žiniatinklio užklausą, kuri ištraukia lentelę į „Excel“. A stulpelis iš esmės yra pavadinimų sąrašas, o B stulpelis - atitinkama data. Datos svetainėje nurodytos kaip 2011-01-01 formatas ir vėliau tokiu būdu importuojamos į „Excel“. Todėl negaliu rūšiuoti B stulpelio pagal datos vertę, nes „Excel“ neatpažįsta formato. Bandžiau pakeisti datos ypatybes, naudodamas funkciją „rasti ir pakeisti“, kad pakeistumėte ją į 01/01/2011 formatą, tada keisčiau ypatybes be jokios naudos.

Idealiu atveju norėčiau, kad koks nors makrokomandos/VBA kodas pakeistų 2011-01-01 į 2011-01-01 formatą, kad galėčiau rūšiuoti stulpelį.

Norėdami sužinoti apie sprendimą, spustelėkite nuorodą

Atsisiųsti - VBA trumpas datos formatas - xlsm