Vba kullanarak ayın i̇lk günü nasıl bulunur (örnekle)
Belirli bir hücredeki bir tarih için ayın ilk gününü bulmak amacıyla VBA’da DateSerial() işlevini gün bağımsız değişkeni için 1 değeriyle kullanabilirsiniz.
Örneğin, A1 hücresindeki tarih için ayın ilk 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)
Örneğin, A1 hücresi 1/5/2023 içeriyorsa, B1 hücresi 1/1/2023 değerini döndürecektir.
Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.
Örnek: Ayın İlk Gününü Bulmak için VBA’yı Kullanma
Bir şirkette farklı tarihlerde yapılan satışlarla ilgili bilgileri içeren Excel’de aşağıdaki veri setine sahip olduğumuzu varsayalım:
A sütunundaki her tarih için ayın ilk 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)
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 ilk 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