Vba kullanarak ayın son günü nasıl bulunur (örnekle)


Belirli bir hücredeki bir tarih için ayın son gününü bulmak amacıyla VBA’da DateSerial() işlevini gün bağımsız değişkeni için 0 değeriyle kullanabilirsiniz.

Örneğin, A1 hücresindeki tarih için ayın son gününü bulmak ve bu tarihi B1 hücresine döndürmek için aşağıdaki sözdizimini kullanabilirsiniz:

 dateVal = DateValue(Range(" A1 "))

Range(" B1 ").Value = DateSerial(Year(dateVal), Month(dateVal)+1, 0)

Örneğin, A1 hücresi 1/5/2023 içeriyorsa, B1 hücresi 31/1/2023 değerini döndürecektir.

Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.

Örnek: Ayın Son Gününü Bulmak için VBA’yı Kullanmak

Diyelim ki Excel’de bir şirkette farklı tarihlerde yapılan satışlara ilişkin bilgileri içeren aşağıdaki veri setine sahibiz:

A sütunundaki her tarih için ayın son gününü bulmak ve C sütunundaki ilgili hücredeki tarihi döndürmek istediğimizi varsayalım.

Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:

 SubFirstDayOfMonth ()

Dim i As Integer

For i = 2 To 11
    dateVal = DateValue(Range(" A " & i))
    Range(" C " & i).Value = DateSerial(Year(dateVal), Month(dateVal)+1, 0)
Next i

End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

VBA ayın son gününü bul

C sütunundaki tarihlerin her biri, A sütununda karşılık gelen tarih için ayın son gününü temsil eder.

Not #1: Kodda, A2’den A11’e kadar olan hücreler ilgilendiğimiz tarihleri içerdiğinden For i = 2’den 11’e kadar kullandık. Kullanmak istediğiniz hücre aralığına bağlı olarak bu aralığı değiştirmekten çekinmeyin.

Not #2 : VBA’daki DateSerial() işlevinin tam belgelerini burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde VBA kullanarak diğer genel görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

VBA’da tarihe göre sıralama nasıl yapılır
VBA’da iki tarih arasında olup olmadığı nasıl eklenir
VBA’da tarihten büyük nasıl sayılır

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir