VBA stīgas līdz šim Stingru vērtību konvertēšana datumā programmā Excel VBA

Excel VBA virkne līdz datumam

Vba ir metode, ar kuras palīdzību mēs varam pārveidot norādīto virkni par datumu, un metode ir zināma kā CDATE funkcija vba, tā ir iebūvēta funkcija VBA, un šai funkcijai nepieciešamās daļas ir vispirms pārveidot virkni uz numuru, un pēc tam mēs pārvēršam norādīto numuru par datumu. Rezultāta formāts ir atkarīgs tikai no sistēmas datuma formāta.

Viena no izplatītākajām problēmām, ar kuru mēs visi saskaramies ar Excel, ir “Datums un laiks”, un tā bieži tiek glabāta kā teksta vērtība un sākotnēji netiek pamanīta. Bet, kad viņiem būs jāizmanto šis laiks, mēs uzzināsim, ka šīs vērtības tiek saglabātas kā teksts un vispār nezinām, kā ar tām rīkoties. “Datums un laiks” ir divas apvienotas lietas vienā elementā, bet, kad šīs vērtības tiek saglabātas kā teksta vērtības, ir grūti strādāt.

Kā konvertēt virknes vērtības uz datumu?

Šo VBA virknes līdz datumam Excel veidni varat lejupielādēt šeit - VBA virknes datums Excel veidne

1. piemērs

Kad VBA mainīgais ir deklarēts un piešķirts kā virkne, viss, kas piešķirts šim mainīgajam, tiks uzskatīts tikai par virkni. Piemēram, skatiet zemāk esošo kodu.

Kods:

 Sub virkne_To_Date () Dim k As virkne k = "10-21" MsgBox k Beigas Sub 

Iepriekš minētajā koda mainīgajā “k” definēts kā “String” datu tips, un šim mainīgajam esam piešķīruši vērtību “10-21”.

Labi, palaidīsim kodu un redzēsim, ko mēs saņemam VBA ziņojumu lodziņā.

Mēs saņēmām vērtību tikai kā 10–21, taču parasti šīs vērtības ir datums, nevis virknes vērtības. Tātad, pat ja piešķirtais datu tips ir “String”, mēs joprojām varam konvertēt uz datumu, izmantojot datu veida konvertēšanas funkciju CDATE VBA.

Kods:

 Sub virkne_To_Date () Dim k As virkne k = "10-21" MsgBox CDate (k) End Sub 

Iepriekš, pirms ziņojuma lodziņā parādīsim mainīgā “k” rezultātu, mums ir piešķirta funkcija CDATE. Tiek veikts neliels pielāgojums, redzēsim, cik lielu ietekmi tas rada.

Tagad mēs redzētu, ka rezultāts kā “Datums” vairs nav “Virknes” vērtība.

2. piemērs

Tagad skatiet piemēru zemāk esošajā kodā.

Kods:

 Sub String_To_Date () Dim k As virkne k = 43599 MsgBox k End Sub 

Šajā laika posmā virs koda rezultāts tiktu parādīts kā “43599”, kā mēs iepriekš norādījām.

Bet, kad mēs izmantosim funkciju CDATE, tā tiks pārveidota par datuma vērtību.

Kods:

 Sub String_To_Date () Dim k As virkne k = 43599 MsgBox CDate (k) End Sub 

Rezultāts pēc funkcijas CDATE izmantošanas ir šāds.

Tā kā Excel datumu saglabāja kā sērijas numurus, mūsu piešķirtais sērijas numurs 43599 ir vienāds ar datumu 05/14/2019, kad tiek piemērots datuma formāts.

Datumu varam precīzi nolasīt arī datumā “DD-MMM-GGGG”.

Kods:

 Apakšējā virkne_To_Date1 () Dim k As virkne Dim DateValue As Datums k = 43599 DateValue = CDate (k) MsgBox formāts (DateValue, "DD-MMM-GGGG") Beigu apakšdaļa 

Iepriekš minētajā es esmu deklarējis vienu papildu mainīgo, lai saglabātu rezultātu. Šim mainīgajam esmu izmantojis CDATE konversijas funkciju.

Pēc tam es izmantoju funkciju FORMAT, lai lietotu formāta “DD-MMM-GGGG” formātu, un rezultāts būs tāds, kā parādīts zemāk.

Ar to mēs varam skaidri nolasīt dienas daļu un mēneša daļu. Tas ir atkarīgs arī no jūsu sistēmas datuma formāta programmā Excel, jo mans sistēmas datuma formāts bija “MM-DD-GGGG”, tas tika rādīts tāpat, taču tas nedrīkst būt šķērslis formatēšanai.

3. piemērs

Tagad mēs faktiski redzēsim, kā datumi tiek formatēti kā teksta vērtības darblapas šūnās. Zemāk ir datumu attēls, kas darblapā saglabāts kā teksts.

Ailē A no A2 līdz A12 mums ir datuma meklēšanas vērtības, bet, aplūkojot cilni Formāts, tajā tiek parādīts teksta formāts. Tagad mums ir jāpārvērš šīs vērtības no teksta uz datumu.

Tālāk ir kods, kuru esmu uzrakstījis, lai tekstu formātā datuma vērtības pārvērstu par faktiskajiem datumiem.

Kods:

 Apakšējā virkne_To_Date2 () Dim k As Long 'Dati atrodas vairāk nekā vienā šūnā, tāpēc jāapgriež katra šūna' Open For Loop For k = 2-12 'Dati sākas no 2. rindas un beidzas 12. rindā, tātad 2 līdz 12 Šūnas (k, 2). Vērtība = CDate (šūnas (k, 1). Vērtība) Nākamais k beigu apakšsadaļa 

Ja palaidīsit kodu, tas dos mums šādu rezultātu.

Atceramās lietas

  • CDATE ir datu veida konvertēšanas funkcija, taču to var izmantot, lai pārveidotu VBA virknes saglabāto datumu par faktiskām datuma vērtībām.
  • Funkcijas CDATE formāta rezultāts ir atkarīgs tikai no sistēmas datuma formāta.
  • Datumi programmā Excel tiek glabāti kā sērijas numuri, tāpēc ir nepieciešams formatējums, lai tos parādītu kā datumus.

$config[zx-auto] not found$config[zx-overlay] not found