Месец на VBA на Excel
VBA Month Function е вградена функция, използвана за получаване на месец от дата и изходът, върнат от тази функция, е цяло число в диапазона от 1 до 12. Тази функция извлича само номера на месеца от предоставената стойност на датата.
Например, ако датата е 28 май 2019 г., за да извлечем номера на месеца от тази дата, можем да използваме функцията МЕСЕЦ.

Как да използвам месечната функция във VBA?
По-долу е синтаксисът на функцията MONTH.

Просто трябва да посочим датата, от която се опитваме да извлечем номера на месеца.
Пример # 1
Ще видим как да напишем код, за да извлечем номера на месеца от датата. Ние ще се датата като "10 -ти Октомври 2019".
Стъпка 1: Стартирайте макро процедурата.
Код:
Sub Month_Example1 () End Sub

Стъпка 2: Дефинирайте променливата, която да съдържа стойността на датата. Тъй като съхраняваме стойността на данните, нашият тип данни трябва да бъде „Дата“. Така декларирайте променливата и присвойте типа на данните като „Дата“ на декларираната променлива.
Код:
Sub Month_Example1 () Dim DDate As Date End Sub

Стъпка 3: За тази променлива, присвои стойност за дата на 10 -ти октомври 2019.
Код:
Sub Month_Example1 () Dim DDate As Date DDate = "10 Oct 2019" End Sub

Стъпка 4: Сега задайте номера на месеца, за да декларирате още една променлива като „Integer“.
Код:
Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 Oct 2019" End Sub

Стъпка 5: За тази променлива ще отворим функцията MONTH.
Код:
Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 Oct 2019" MonthNum = Month (End Sub

Стъпка 6: Функция за месец, която иска „Дата“, която трябва да бъде предоставена, за да извлече номера на месеца. Тъй като вече сме запазили целевата дата в променливата „DDate“, предоставете тази променлива като входен параметър за функцията месец.
Код:
Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 Oct 2019" MonthNum = Month (DDate) End Sub

Стъпка 7: Сега функцията „Month“ ще върне номера на месеца от предоставената дата към променливата „MonthNum“ и накрая ще покаже резултата в полето за съобщение във VBA.
Код:
Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 Oct 2019" MonthNum = Month (DDate) MsgBox MonthNum End Sub

Изпълнете кода и вижте номера на месеца в полето за съобщение.
Изход:

И така, номерът на месеца от предоставената дата е 10, т.е. октомври месец.
Пример # 2
Сега ще вземем препратки към клетки за кодиране. По-долу е датата, която имаме в работния лист.

Така че от стойността на датата на клетка А2 трябва да извлечем номера на месеца в клетката В2.
Код:
Sub Month_Example2 () Диапазон ("B2"). Стойност = Край Sub

Отворете функцията МЕСЕЦ и въведете датата като стойност RANGE A2.
Код:
Подмесец_Пример2 () Обхват ("B2"). Стойност = месец (обхват ("A2")) Край Под

Причината, поради която сме предоставили клетка от диапазон А2, защото този път датата ни е в клетка А2, така че същото ще бъде референтната.
Сега изпълнете кода и вземете номера на месеца от датата в клетка B2.

Ето, имаме номера на месеца в клетка B2.
Пример # 3
Извличаме месеца за датата на една клетка, но какво ще стане, ако имаме множество редове данни като долната.

В тези случаи трябва да преминем през клетките и да изпълним задачата за извличане на номера на месеца от всяка съответна дата.
Кодът по-долу ще свърши работа за нас.
Код:
Sub Month_Example3 () Dim k Колкото дълго за k = 2 до 12 клетки (k, 3). Стойност = месец (клетки (k, 2). Стойност) Следващ k Край Sub

Това, което ще направи този код, е да премине през редовете от 2 до 12 и да извлече номера на месеца от втората колона и да съхрани резултата в третата колона.

Неща, които трябва да запомните тук
- MONTH е функция на работен лист, както и функция на VBA.
- MONTH изисква валидна справка за дата в противен случай, ще получим съобщение за грешка.
- Ако номерът на месеца е 12, той ще изведе съобщение за грешка.