VBA-månadsfunktion - Hur får man månadsnummer från datum?

Innehållsförteckning

Excel VBA-månad

VBA-månadsfunktion är en inbyggd funktion som används för att få månad från ett datum och den output som returneras av denna funktion är ett heltal som sträcker sig från 1 till 12. Den här funktionen extraherar endast månadsnumret från det angivna datumvärdet.

Om till exempel datumet är 28-maj-2019 kan vi använda MONTH-funktionen för att extrahera månadens nummer från detta datum.

Hur använder man månadsfunktion i VBA?

Nedan är syntaxen för MONTH-funktionen.

Vi behöver bara ange det datum från vilket vi försöker extrahera månadens nummer.

Exempel 1

Vi kommer att se hur man skriver en kod för att extrahera månadens nummer från datumet. Vi kommer att ta datum ”10 : e oktober 2019".

Steg 1: Starta makroförfarandet.

Koda:

Under månad_exempel1 () Avsluta sub

Steg 2: Definiera variabeln för att hålla datumvärdet. Eftersom vi lagrar datavärdet bör vår datatyp vara "Datum". Så deklarera variabeln och tilldela datatypen som "Datum" till den deklarerade variabeln.

Koda:

Sub Month_Example1 () Dim DDate as Date End Sub

Steg 3: För denna variabel tilldela datum värdet på 10 : e oktober 2019.

Koda:

Sub Month_Example1 () Dim DDate as Date DDate = "10 Oct 2019" Slut Sub

Steg 4: Tilldela nu månadsnumret för att deklarera en variabel till som "heltal".

Koda:

Sub Month_Example1 () Dim DDate as Date Dim MonthNum As Integer DDate = "10 Oct 2019" End Sub
Obs: Anledningen till att vi har deklarerat variabeln som heltal eftersom vårt månadsantal bara slutar vid 12. Så heltal datatyp kan innehålla detta nummer.

Steg 5: För den här variabeln öppnar vi MÅNAD-funktionen.

Koda:

Sub Month_Example1 () Dim DDate as Date Dim MonthNum As Integer DDate = "10 Oct 2019" MonthNum = Month (End Sub

Steg 6: Månadsfunktion som frågar ”Datum” som måste anges för att extrahera månadsnumret. Eftersom vi redan har lagrat det riktade datumet till variabeln "DDate", ange denna variabel som inmatningsparameter för månadsfunktionen.

Koda:

Sub Month_Example1 () Dim DDate as Date Dim MonthNum As Integer DDate = "10 Oct 2019" MonthNum = Month (DDate) End Sub

Steg 7: Nu kommer funktionen "Månad" att returnera månadsnumret från det angivna datumet till variabeln "Månadsnummer" och slutligen visa resultatet i en meddelandefält i VBA.

Koda:

Sub Month_Example1 () Dim DDate as Date Dim MonthNum As Integer DDate = "10 Oct 2019" MonthNum = Month (DDate) MsgBox MonthNum End Sub

Kör koden och se månadens nummer i meddelandefältet.

Produktion:

Så månadsnumret från det angivna datumet är 10, dvs. oktobermånaden.

Exempel 2

Nu tar vi cellreferenser för kodning. Nedan följer datumet vi har i kalkylbladet.

Så från cell A2-datumvärdet måste vi extrahera månadens nummer till cellen B2.

Koda:

Sub Month_Example2 () Range ("B2"). Värde = Slut Sub

Öppna MÅNAD-funktionen och ange datumet som RANGE A2-värde.

Koda:

Sub Month_Example2 () Range ("B2"). Värde = Month (Range ("A2")) End Sub

Anledningen till att vi har levererat Range A2-cell eftersom den här gången är vårt datum i cellen A2, så detsamma kommer att vara referensen.

Kör nu koden och få månadens nummer från datumet i cell B2.

Snälla, vi har månadsnummer i cell B2.

Exempel # 3

Vi har extraherat månaden för datumet med en cell, men tänk om vi har flera rader med data som nedanstående.

I dessa fall måste vi gå igenom cellerna och utföra uppgiften att extrahera månadens nummer från respektive datum.

Koden nedan kommer att göra jobbet för oss.

Koda:

Undermånad_exempel3 () Dim k så länge för k = 2 till 12 celler (k, 3). Värde = månad (celler (k, 2). Värde) Nästa k Avsluta sub

Vad den här koden kommer att göra är att den går igenom raderna från 2 till 12 och extraherar månadens nummer från den andra kolumnen och lagrar resultatet i den tredje kolumnen.

Saker att komma ihåg här

  • MÅNAD är en kalkylbladfunktion samt en VBA-funktion.
  • MÅNAD kräver giltig datumreferens på annat sätt, vi får ett felmeddelande.
  • Om månadens nummer är 12 kommer det att ge ett felmeddelande.

Intressanta artiklar...