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:

VBA ayın ilk gününü bul

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

Yorum ekle

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