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

Satura rādītājs

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ā, taču, 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?

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, apskatiet zemāk redzamo kodu.

Kods:

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

Iepriekš minētajā kodā mainīgais “k” ir definēts kā “String” datu tips, un šim mainīgajam mēs 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. Lai arī 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 “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 piešķīrām iepriekš.

Bet, kad mēs izmantosim CDATE funkciju, 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 Excel. Tā kā mans sistēmas datuma formāts bija “MM-DD-GGGG”, tas parādījās 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ē 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 to 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.

Interesanti raksti...