VBA Month işlevi, belirli bir tarihten ay bileşenini çıkarır. Tarihin ayı, 1 (Ocak) ile 12 (Aralık) arasında değişen bir tam sayı ile gösterilir. Tarihlerle çalışırken ve bir tarih değerinin ay kısmını çıkarmanız veya düzenlemeniz gerektiğinde, bu işlev kullanışlı olur.
Bir örneğe bakalım. Burada, basit bir VBA makrosu kullanarak sistem tarihinden geçerli ayı çıkarmak için Month işlevini kullanıyoruz. Ay bileşeni Month işlevi tarafından çıkarılır ve “currentMonth” değişkenine atanır. Çıkarılan ay daha sonra bir mesaj oluşturmak için metinle birleştirilir. Son olarak, mesajı görüntülemek için “ VBA MsgBox işlevini ” kullanırız.

Bu makroyu çalıştırdığınızda, geçerli ayı gösteren bir açılır mesaj kutusu görüntülenecektir.

- VBA Month işlevi bir tarihten ay bileşenini çıkarır. Ayı temsil eden bir tamsayı döndürür (Ocak için 1, Şubat için 2 vb.).
- Excel çalışma sayfasındaki Ay işlevini kullanarak tarihleri manuel olarak atayabilir veya hücrelerden çıkarabilirsiniz.
- Ayın biçimlendirmesini özelleştirmek için Biçim işlevini kullanabilirsiniz; örneğin, ayı iki basamaklı olarak görüntüleyebilirsiniz (örneğin, Şubat için “02”).
- VBA Ay işlevini kullanırken sorunlara yol açabilecek geçersiz tarih veya eşleşmeyen tarih biçimleri gibi olası hatalara karşı dikkatli olun.
VBA'da Ay Fonksiyonu Nasıl Kullanılır?
VBA'da Ay işlevini kullanmak için şu adımları izleyin:
- Adım 1: Excel'i açın ve VBA düzenleyicisini açmak için ALT + F11 tuşlarına basın.

- Adım 2: Menüde “Ekle”ye tıklayıp “Modül”ü seçerek yeni bir modül ekleyin.

- Adım 3: Değişkenleri Bildirin
Tarih değerlerinizi ve çıkarılan ayı tutmak için değişkenler bildirmelisiniz. Değişkenlerin nasıl bildirileceğine dair bir örnek:
Dim myDate Tarih Olarak
Dim myMonth As Integer
Bu örnekte, myDate, bir tarih değerini depolamak için bir VBA Tarih türü olarak tanımlanmıştır ve myMonth, çıkarılan ayı depolamak için bir Tamsayı olarak tanımlanmıştır.
- Adım 4: Bir Tarih Değeri Atamak
Çeşitli yöntemleri kullanarak myDate değişkenine bir tarih değeri atayabilirsiniz.
Örneğin:
myDate = DateSerial(2023, 8, 25), DateSerial fonksiyonunu kullanarak myDate'e “25 Ağustos 2023” tarihini atar.
- Adım 5: Ayı Çıkarın
Ay fonksiyonunu kullanarak myDate değişkeninden ayı çıkarın ve bir değişkende saklayın.
myMonth = Ay(benimTarih)
- Adım 6: Çıkarılan ayı görmek için, bunu bir mesaj kutusunda görüntüleyebilir veya Excel'deki bir hücreye atayabilirsiniz. Örneğin, bunu bir mesaj kutusunda görüntülemek için şunu yazarız:
MsgBox “The month is: ” & myMonth
- Adım 7: Makroyu kaydedin, VBA düzenleyicisini kapatın ve ardından çıktıyı görmek için çalıştırın.
Örnekler
Örnek 1 – Temel Kullanım
Bu örnek, belirli bir tarihten ayı çıkarmak için bir ileti kutusunun nasıl kullanılacağını gösterecektir.
Adım 1: Yeni modülde, “BasicMonthExample” adlı bir alt rutin oluşturarak başlıyoruz.

Adım 2: Bu adımda iki değişken bildiriyoruz: bir tarihi depolamak için myDate ve çıkarılan ayı depolamak için myMonth . Daha sonra DateSerial fonksiyonunu kullanarak myDate'e "25 Ağustos 2023" tarihini atıyoruz .

Adım 3: Ay'ı myDate değişkeninden çıkarmak ve myMonth değişkeninde saklamak için Month işlevini kullanırız . Burada myMonth, Ağustos olduğu için 8 değerini tutacaktır.

Adım 4: Sonucu görüntülemek için bir mesaj kutusu kullanırız. “Ay: 8” ifadesini gösterecektir, burada 8 myMonth değişkeninde depolanan değerdir.

Adım 5: Şimdi, bu kodu çalıştırdığınızda, “Ay: 8” mesajını gösteren bir mesaj kutusu açılır; bu, “25 Ağustos 2023” tarihinden çıkarılan ayın gerçekten Ağustos olduğunu gösterir.

İşte kodun tamamı:
Sub BasicMonthExample()
Dim myDate As Date
Dim myMonth As Integer
myDate = DateSerial(2023, 8, 25)
myMonth = Month(myDate)
MsgBox “The month is: ” & myMonth
End Sub
Örnek 2 – Hücre Değerlerini Kullanma
Bu örnekte, A1 hücresinde saklanan bir tarihten ayın nasıl çıkarılacağını ve bir ileti kutusu kullanarak nasıl görüntüleneceğini göreceğiz.

Adım 1: “MonthFromCell” adında yeni bir alt rutin oluşturduktan sonra , sırasıyla bir tarih değeri ve çıkarılan ayı saklayacak olan myDate ve myMonth adlı iki değişken bildiriyoruz .

Adım 2 : Daha sonra, Range(“A1”).Value kullanarak A1 hücresinden değeri alırız ve bunu myDate değişkenine atarız.

Adım 3: Daha sonra Month fonksiyonunu kullanarak myDate değişkeninden ayı çıkarırız ve myMonth'a kaydederiz .

Adım 4: Çıkarılan ayın sonucu bir mesaj kutusuyla görüntülenir.

Adım 5: Son olarak VBA makrosunu kaydedin ve Çalıştır'a tıklayın. Bu kodu çalıştırdığınızda, A1 hücresinden tarihi alır, ayı çıkarır ve bir mesaj kutusunda görüntüler.

İşte kodun tamamı:
Sub MonthFromCell()
Dim myDate As Date
Dim myMonth As Integer
myDate = Range(“A1”).Value
myMonth = Month(myDate)
MsgBox “The month is: ” & myMonth
End Sub
Örnek 3 – Ayı İki Haneli Olarak Biçimlendirme
Bu örnekte, verilen bir tarihten çıkarılan ayın, başında sıfır olan iki basamaklı bir formatta nasıl biçimlendirileceğini ve biçimlendirilmiş sonucu görüntülemek için bir ileti kutusunun nasıl kullanılacağını öğreneceğiz.
Adım 1: Yeni modülde ilk olarak “FormatMonth” adında bir alt rutin oluşturuyoruz.

Adım 2: Bir tarihi depolamak için myDate'i ve biçimlendirilmiş ayı bir dize olarak depolamak için myMonth'u bildiriyoruz. "Şubat 8, 2023" tarihi myDate'e atanır.

Adım 3: Burada, ayı (Şubat için 2) çıkarmak için Month işlevini kullanırız ve ardından Format işlevini kullanarak onu önde sıfırlar bulunan iki basamaklı bir dize olarak biçimlendiririz. Sonuç , "02" değerini tutacak olan myMonth'a atanır.

Adım 4: Sonucu görüntülemek için bir mesaj kutusu kullanılır ve ayı iki basamaklı olarak biçimlendirdiğimiz için “Biçimlendirilen ay: 02” gösterilir.

Adım 5: Bu kodu çalıştırdığınızda, biçimlendirilmiş ayı myMonth'a atar ve bunu bir ileti kutusunda ayın iki basamaklı gösterimini belirten "02" olarak görüntüler.

İşte tam kod:
Sub FormatMonth()
Dim myDate As Date
Dim myMonth As String
myDate = DateSerial(2023, 2, 8)
‘ Format the month as two digits
myMonth = Format(Month(myDate), “00”)
MsgBox “The formatted month is: ” & myMonth
End Sub
