VBA DateValue - Hur använder jag DateValue-funktionen i Excel VBA?

Innehållsförteckning

Vad är VBA DateValue-funktion?

En DateValue-funktion är en inbyggd funktion i Excel VBA under kategorin Date / time-funktion. Det fungerar som både VBA-funktion och kalkylbladfunktion i VBA. Den här funktionen returnerar serienumret eller värdet för datumet som anges i strängrepresentationsformatet och ignorerar den tidsinformation som tillhandahålls av datumsträngen. Den används på två olika sätt i Excel. Den här funktionen används som en kalkylformel som matas in i en kalkylbladcell. Den används som makrokod i VBA-applikationen och anger den via Visual Basic Editor associerad med Microsoft Excel.

I den här artikeln ska vi lära oss exempel på VBA DATEVALUE och hur man använder den med en tydlig förklaring.

Förklaring av VBA Datavalue-funktion

I VBA använder DATEVALUE följande syntax.

Denna funktion använder endast det enskilda argumentet eller parametern

  • Datum : Det är det datum som representeras i strängformatet
  • Returnerar: Denna funktion returnerar värdet på datumet när det används som en VBA-funktion. Det returnerar datumvärdet när det används som en kalkylbladfunktion

VBA DateValue-funktionen kan tolka data som representeras i textformat som nämns i ett giltigt Excel-format. Det går inte att returnera datumvärdet om strängen innehåller textrepresentationen för vardag.

Fördelarna med VBA DateValue-funktionen är att extrahera datumvärde från sträng och konvertera datum med tid till det enda datumet. Vi kan helt enkelt att när ett datum anges med tiden, så fungerar den här funktionen endast datumvärde och undviker tidsvärdet.

Hur använder jag Excel VBA DATEVALUE?

För att använda DateValue-funktionen i Excel måste du först öppna VBA-redigeraren.

Kommandoknappen måste placeras i Excel-kalkylbladet för att lägga till raderna i VBA-programmet till det. För att implementera programmets rader måste användaren klicka på kommandoknappen i excel-arket. För att få en giltig utdata från programmet ges giltig inmatning genom argumentet. Följande kod hjälper till exempel till att skapa ett makro för att köra DateValue-funktionen för att extrahera datumvärdet från texten i VBA.

VBA-program:

Underdataknapp () Dim myDate som datum myDate = DateValue (“15 augusti 1991”) MsgBox Date (myDate) Slut Sub

Den här koden resulterar i datumet som 15 från den angivna inmatningen.

Exempel på Excel VBA DATEVALUE

Nedan följer exemplen på DateValue i Excel VBA.

Exempel # 1 - Skaffa dag, månad och år från ett datum

Få steg följs för att skapa och köra programmet i VBA. Dessa inkluderar

Steg 1: Gå till fliken Developer, placera markören på en cell i Excel-arket och klicka på alternativet 'Insert' och välj 'Command Button' under ActiveX Control, som visas i figuren.

Dra knappen där du vill och ge bildtexten som dataknapp från egenskapsfönstret.

Steg 2: Dubbelklicka på knappen; det kommer att omdirigera till VBA-projektet och skriva koden mellan knappen Privat underkommando och slutet under.

Koden bör utvecklas enligt nedan för att få ett datum, månad och år.

Koda:

Privat underdataknapp1_Click () Dim exampledate as Date Exampledate = DateValue ("April 19,2019") MsgBox Date MsgBox Year (Exampledate) MsgBox Month (Exampledate) End Sub

I den här koden är Datebutton1_Click () namnet och exemplets datum är variabelt med datumdatatyp och Msgbox för att visa utdata.

Steg 3: När du utvecklar kod kommer fel i VBA-typ att matcha fel och måste ta hand om dem.

Steg 4: I det här steget kör du programmet genom att klicka på köralternativet.

Eller så kan vi kontrollera eller felsöka programmet steg för steg genom att välja alternativet Steg in under felsökningsmenyn. Om vår kod är utan några fel visar den resultatet.

Steg 5 : När programmet körs visar meddelandefältet först det datum som anges i textinmatningen. Klicka sedan på OK för att se årsvärdet igen, klicka OK i meddelandefältet för att se månadsvärdet.

Obs! Dessa steg ska följas tydligt för att få exakta resultat.

Exempel # 2 - Använd DatePart för att hämta olika delar av datum

Steg 1: Gå till Excel-fliken för utvecklare, placera markören på en cell i Excel-arket och klicka på alternativet 'Infoga' och välj 'Kommandoknapp' under ActiveX-kontroll, som visas i figuren.

Steg 2: Dra knappen och ge bildtexten som DatePart under egenskaper.

Dubbelklicka på den här knappen. Den leder till Visual Basic Editor-arket och visas enligt följande.

Step 3: Develop the code using the DatePart with DateValue, as shown in the figure.

Code:

Private Sub Datepart1_Click() Dim partdate As Variant partdate = DateValue("8/15/1991") MsgBox partdate MsgBox Datepart("yyyy", partdate) MsgBox Datepart("dd", partdate) MsgBox Datepart("mm", partdate) MsgBox Datepart("q", partdate) End Sub

In this program, DatePart1 is the macro name, and partDate is the argument name with data type ‘variant.’ For displaying year, date, month, and a quarter, the format is applied as “yyyy,” “d,” “m,” and “q.” If we make any mistake in the format, it displays the following error.

Step 4: After successful debugging of the program, run the program by clicking on the run button to use excel shortcut key F5.

The code first displays the full date, and then after clicking every OK from the msgbox, it shows the year value after that Date value, Month Value, Quater Value, respectively.

Things to Remember About the VBA DATEVALUE

The following things must be remembered while using the DateValue function in Excel VBA

  • Run time error 13 with message Type Mismatch is displayed when the date provided to the DateValue function is not able to convert into a valid date. We need date is a proper text format
  • When we try to get the only date from the string argument with code ‘msgbox date (argument name),’ it displays the type mismatch error.
  • We can see the output of the DateValue function without opening the VBA editor. It is done by clicking the command button and select the macro created for the respective program.
  • När DatePart används för att hämta värdena bör lämpligt format följas. Annars leder det "körtidsfel 5" med meddelande ogiltigt proceduranrop eller argument.

Intressanta artiklar...