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:
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