VBA-datumwaarde - Hoe de DateValue-functie te gebruiken in Excel VBA?

Wat is de VBA DateValue-functie?

Een DateValue-functie is een ingebouwde functie in Excel VBA onder de categorie Datum / tijd-functie. Het werkt zowel als VBA-functie als als werkbladfunctie in VBA. Deze functie retourneert het serienummer of de waarde van de datum die is opgegeven in het tekenreeksweergaveformaat en negeert de tijdinformatie die wordt geleverd door de tekenreeks Datum. Het wordt in Excel op twee verschillende manieren gebruikt. Deze functie wordt gebruikt als een werkbladformule die in een werkbladcel wordt ingevoerd. Het wordt gebruikt als de macrocode in de VBA-toepassing en voert deze in via Visual Basic Editor die is gekoppeld aan Microsoft Excel.

In dit artikel gaan we voorbeelden leren van VBA DATEVALUE en hoe je deze kunt gebruiken met een duidelijke uitleg.

Uitleg van VBA Datevalue-functie

In VBA gebruikt DATEVALUE de volgende syntaxis.

Deze functie gebruikt alleen het enkele argument of de parameter

  • Datum : het is de datum die wordt weergegeven in de tekenreeksnotatie
  • Retourneert: deze functie retourneert de waarde van de datum wanneer deze wordt gebruikt als een VBA-functie. Het retourneert de datumwaarde wanneer deze wordt gebruikt als een werkbladfunctie

De VBA DateValue-functie is in staat om gegevens te interpreteren die worden weergegeven in tekstindeling die wordt vermeld in een geldig Excel-formaat. De datumwaarde kan niet worden geretourneerd als de tekenreeks de tekstrepresentatie van weekdag bevat.

De voordelen van de VBA DateValue-functie zijn het extraheren van de datumwaarde uit de tekenreeks en het converteren van datum met tijd naar de enige datum. We kunnen eenvoudigweg zeggen dat wanneer een datum wordt gegeven met tijd, deze functie alleen de datumwaarde vermijdt de tijdwaarde.

Hoe Excel VBA DATEVALUE te gebruiken?

Om de DateValue-functie in Excel te gebruiken, moet u eerst de VBA-editor openen.

De opdrachtknop moet in het Excel-werkblad worden geplaatst om de regels van het VBA-programma eraan toe te voegen. Om de regels van het programma te implementeren, moet de gebruiker op de opdrachtknop in het Excel-blad klikken. Om een ​​geldige uitvoer van het programma te krijgen, wordt geldige invoer gegeven via het argument. De volgende code helpt bijvoorbeeld bij het maken van een macro om de functie DateValue uit te voeren om de datumwaarde uit de tekst in VBA te extraheren.

VBA-programma:

Sub Datebutton () Dim myDate As Date myDate = DateValue ("15 augustus 1991") MsgBox Date (myDate) End Sub

Deze code resulteert in de datum als 15 van de gegeven invoer.

Voorbeelden van Excel VBA DATUMWAARDE

Hieronder staan ​​de voorbeelden van DateValue in Excel VBA.

Voorbeeld # 1 - Verkrijg dag, maand en jaar van een datum

Er worden weinig stappen gevolgd om het programma in VBA te maken en uit te voeren. Die omvatten

Stap 1: Ga naar het tabblad Ontwikkelaar, plaats de cursor op een cel in het Excel-blad en klik op de optie 'Invoegen' en kies 'Commandoknop' onder ActiveX-besturingselement, zoals weergegeven in de afbeelding.

Sleep de knop waar u maar wilt en geef het bijschrift als Datebutton vanuit het eigenschappenvenster.

Stap 2: Dubbelklik op de knop; het zal doorverwijzen naar het VBA-project en de code schrijven tussen de Private Sub-commandoknop en de end sub.

De code moet worden ontwikkeld zoals hieronder om een ​​datum, maand en jaar te krijgen.

Code:

Private Sub Datebutton1_Click () Dim Exampledate As Date Exampledate = DateValue ("april 19,2019") MsgBox Datum MsgBox Jaar (voorbeeld) MsgBox Maand (voorbeeld) End Sub

In deze code is Datebutton1_Click () de naam en voorbeelddatum zijn variabel met het gegevenstype Datum en Msgbox om de uitvoer weer te geven.

Stap 3: Tijdens het ontwikkelen van code zullen er VBA-type mismatch-fouten optreden die hiervoor moeten worden opgelost.

Stap 4: Voer in deze stap het programma uit door op de optie Uitvoeren te klikken.

Of we kunnen het programma stap voor stap controleren of debuggen door de optie Stap naar in het menu Foutopsporing te selecteren. Als onze code geen fouten bevat, wordt de uitvoer weergegeven.

Stap 5 : Wanneer het programma wordt uitgevoerd, wordt eerst het berichtvenster weergegeven met de datum die is opgegeven in de tekstinvoer. Klik vervolgens op OK om de jaarwaarde opnieuw te zien, klik op OK in het berichtvenster om de maandwaarde te zien.

Opmerking: deze stappen moeten duidelijk worden gevolgd om nauwkeurige resultaten te krijgen.

Voorbeeld # 2 - Het DatePart gebruiken om de verschillende delen van de datum te krijgen

Stap 1: Ga naar Excel Developer Tab, plaats de cursor op een cel in het Excel-blad en klik op de optie 'Invoegen' en kies 'Command-knop' onder ActiveX-besturingselement, zoals weergegeven in de afbeelding.

Stap 2: Sleep de knop en geef het bijschrift als DatePart onder Eigenschappen.

Dubbelklik op deze knop. Het verwijst naar het Visual Basic Editor-blad en wordt als volgt weergegeven.

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.
  • Als DatePart wordt gebruikt om de waarden op te halen, moet het juiste formaat worden gevolgd. Anders leidt het 'runtime-fout 5' met bericht ongeldige procedure-aanroep of argument.

Interessante artikelen...