Excel VBA DatePart

Stel dat we data in onze gegevens hebben en dat we niet weten welke week of welk deel van de maand het is. Er zijn verschillende manieren om dit uit te vinden. In Excel zijn er enkele complexe formules die we moeten uitvoeren om dat te vinden. Als er bijvoorbeeld een datum is, 02-feb-2019, is de berekening om het kwartaal voor deze datum in Excel te vinden ingewikkeld. VBA biedt ons echter een zeer handige functie genaamd DatePart die dergelijke berekeningen voor ons uitvoert.

Ik heb hierboven al uitgelegd waarom we de DatePart-functie in VBA gebruiken. Deze functie wordt gebruikt om het deel van de datum te achterhalen, of het nu een dag, maand, weekkwartier of zelfs uren of seconden is. Deze functie retourneert het gehele getal als uitvoer. Laten we eerst de syntaxis van deze functie in detail doornemen om meer over deze functie te begrijpen.

Syntaxis van DatePart in Excel VBA

Laten we eens kijken naar de onderstaande syntaxis voor DatePart in Excel VBA.

Zoals we kunnen zien, zijn er in totaal vier argumenten voor deze functie. De eerste twee argumenten zijn verplicht, de andere twee argumenten zijn optioneel. Als we echter niet de laatste twee argumenten opgeven, heeft VBA zijn eigen standaardwaarden.

  • Interval: dit argument wordt verstrekt als een tekenreeks voor deze functie. Dit argument kan een maand, week, jaar, dag of zelfs uur of minuten of seconden zijn. Voor een kwart is de syntaxis bijvoorbeeld 'q' of voor het jaar de syntaxis 'jjjj' enzovoort.
  • Datum: Dit is de invoerdatum die we aan deze functie bieden voor het gedeelte dat we willen weten.
  • FirstDayofWeek: Dit is een optioneel argument dat we aan deze functie geven. Maar als we de eerste dag van de week niet voorzien in de functie, behandelt VBA ZONDAG automatisch als de eerste dag van de week. Er zijn verschillende syntaxis voor dit argument, die als volgt is:

vbUseSystem (deze syntaxis maakt gebruik van NLS API-INSTELLING), vbSunday (dit is het standaardargument), vbMonday, vb dinsdag, vb woensdag, vb donderdag, vb vrijdag, vb zaterdag (Rest al deze argumenten zijn optioneel te geven)

  • FirstWeekofYear: Dit is ook een optioneel argument voor deze functie. Maar nogmaals, als we dit argument niet geven, beschouwt VBA automatisch de eerste week, welke week ook de eerste is vanaf 1 januari. Ook voor dit argument zijn er verschillende syntaxis, deze zijn als volgt:

vbUseSystem, vbFirstJan1 (dit is de standaardinstelling), vbFirstFourDays (dit argument begint met de eerste week die ten minste de eerste vier dagen in het nieuwe jaar heeft), vbFirstFullWeek (dit argument begint met de eerste volledige week van het jaar).

Nu hebben we geleerd over de functies en de argumenten laten we deze functie in voorbeelden testen.

Hoe de DatePart-functie in Excel VBA te gebruiken?

Hieronder staan ​​de verschillende voorbeelden om de DatePart-functie te gebruiken in Excel met behulp van VBA-code.

U kunt deze VBA DatePart Excel-sjabloon hier downloaden - VBA DatePart Excel-sjabloon

Excel VBA DatePart - Voorbeeld # 1

Laten we een invoer van de gebruiker als datum en onderdeel nemen die de gebruiker wil weten, dan zullen we de DatePart-functie gebruiken en het resultaat weergeven.

Volg de onderstaande stappen om de DatePart-functie in Excel VBA te gebruiken:

Stap 1: Klik op het tabblad van de ontwikkelaar in de codesectie op Visual basic die ons naar de VB-editor brengt.

Stap 2: Voeg een nieuwe module in het VBA-project in, zoals hieronder getoond, in de VB Editor.

Stap 3: Dubbelklik nu op de module en begin met het declareren van een nieuwe subprocedure zoals hieronder getoond.

Code:

 Sub-monster () Einde Sub 

Stap 4: Definieer drie variabelen één als tekenreeks en datum die het datumdeel en de datum van onze invoer bevatten en een andere als een geheel getal dat onze uitvoer opslaat.

Code:

 Sub Sample () Dim Dt As Date, Prt As String, Res As Integer End Sub 

Stap 5: Vraag in de datumvariabele de invoer van de gebruiker om de invoerdatum.

Code:

 Sub-monster () Dim Dt als datum, Prt als tekenreeks, Res als geheel getal Dt = InputBox ("Voer een datum in") End Sub 

Stap 6: In Prt die onderdeel is, neemt u input van de gebruiker voor het datumgedeelte dat we moeten achterhalen.

Code:

 Sub-voorbeeld () Dim Dt als datum, Prt als tekenreeks, Res als geheel getal Dt = InputBox ("Voer een datum in") Prt = InputBox ("Voer datum in") End Sub 

Stap 7: Laten we nu in Variabele Res, wat het resultaat is, het resultaat als volgt achterhalen met behulp van de DatePart-functie.

Code:

 Sub-voorbeeld () Dim Dt als datum, Prt als tekenreeks, Res als geheel getal Dt = InputBox ("Voer een datum in") Prt = InputBox ("Voer datumonderdeel in") Res = DatePart (Prt, Dt) End Sub 

Stap 8: Geef de waarde weer die is opgeslagen in Res met behulp van de msgbox-functie.

Code:

 Sub-voorbeeld () Dim Dt als datum, Prt als tekenreeks, Res als geheel getal Dt = InputBox ("Voer een datum in") Prt = InputBox ("Voer datumonderdeel in") Res = DatePart (Prt, Dt) MsgBox Res End Sub 

Stap 9: Laten we nu de bovenstaande code uitvoeren door op de F5-toets te drukken of door op de knop Afspelen te klikken en een datum als volgt op te geven.

Stap 10: Voer de waarde van het datumonderdeel in.

Stap 11: Druk op OK om het resultaat te zien zoals hieronder getoond.

We krijgen 1 als resultaat omdat de datum die we hebben opgegeven als input in het eerste kwartaal van het jaar valt.

Excel VBA DatePart - Voorbeeld # 2

Laten we deze keer de datum rechtstreeks doorgeven aan de functie in de code. Volg de onderstaande stappen om de DatePart-functie in Excel VBA te gebruiken:

Stap 1: Definieer in dezelfde module een andere subprocedure zoals hieronder weergegeven.

Code:

 Sub Sample1 () Einde Sub 

Stap 2: Definieer één variabele als Geheel getal en één variabele als Datum zoals hieronder getoond.

Code:

 Sub Sample1 () Dim Dt As Date, Res As Integer End Sub 

Stap 3: Geef een datum op voor de variabele.

Code:

 Sub Sample1 () Dim Dt As Date, Res As Integer Dt = # 2/2/2019 # End Sub 

Stap 4: Laten we in de variabele Res de week van de datum berekenen met de functie DatePart.

Code:

 Sub Sample1 () Dim Dt als datum, Res als geheel getal Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) End Sub 

Stap 5: Geef de waarde weer die is opgeslagen in de variabele met behulp van de msgbox-functie.

Code:

 Sub Sample1 () Dim Dt als datum, Res als geheel getal Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) MsgBox Res End Sub 

Stap 6: Voer de bovenstaande code uit door op F5 te drukken of door op de knop Afspelen te klikken om het volgende resultaat te krijgen.

De datum die we als input hebben opgegeven, valt in de vijfde week van het jaar.

Excel VBA DatePart - Voorbeeld # 3

Laten we een echt voorbeeld proberen. In blad 1 in cel A1 heb ik de formule = Now () gebruikt om de huidige datum en tijd op te halen en we zullen het datumgedeelte voor deze cel vinden.

Volg de onderstaande stappen om de DatePart-functie in Excel VBA te gebruiken:

Stap 1: Definieer in dezelfde module als volgt een andere subprocedure.

Code:

 Sub Sample2 () Einde Sub 

Stap 2: Definieer twee variabele één als Datum en een andere als een geheel getal.

Code:

 Sub Sample2 () Dim Dt As Date, Res As Integer End Sub 

Stap 3: In variabele Dt-opslag is de waarde van cel A1 als volgt.

Code:

 Sub Sample2 () Dim Dt als datum, Res als geheel getal Dt = bereik ("A1") Waarde Einde Sub 

Stap 4: Laten we nu in res variabele het weekdeel voor de invoer berekenen met behulp van de DatePart-functie.

Code:

 Sub Sample2 () Dim Dt als datum, Res als geheel getal Dt = bereik ("A1") Waarde Res = DatePart ("ww", Dt) End Sub 

Stap 5: Geef de waarde weer die is opgeslagen in de variabele met behulp van de Msgbox-functie.

Code:

 Sub Sample2 () Dim Dt als datum, Res als geheel getal Dt = bereik ("A1") Waarde Res = DatePart ("ww", Dt) MsgBox Res End Sub 

Stap 6: Voer de bovenstaande code uit door op F5 te drukken of door op de knop Afspelen te klikken om het volgende resultaat te krijgen.

De huidige datum is 25 juli, de 30e week van het jaar 2019.

Dingen om te onthouden

  • Het is de datumfunctie, maar retourneert een geheel getal.
  • De eerste twee argumenten zijn verplicht, de andere twee argumenten zijn optioneel.
  • VBA heeft zijn eigen standaardargumenten als we de laatste twee argumenten niet voor de DatePart-functie opgeven.
  • Deze functie is een VBA-functie en geen werkbladfunctie.

Aanbevolen artikelen

Dit is een handleiding voor VBA DatePart. Hier bespreken we hoe de DatePart-functie in Excel te gebruiken met behulp van VBA-code, samen met enkele praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA DateAdd
  2. VANDAAG Formule in Excel
  3. VBA-datumfunctie
  4. NU Excel-functie
  5. Hoe VBA-datumnotatie in Excel te gebruiken?
  6. Waar code te schrijven in VBA?

Categorie: