Vba: i̇ki tarih arasında ise nasıl eklenir


Hücrelerin iki tarih arasında olması durumunda toplamı hesaplamak için VBA’da aşağıdaki sözdizimini kullanabilirsiniz:

 Sub SumifBetweenDates()
Range(" E3 ") = WorksheetFunction.SumIfs(Range(" B2:B9 "), Range(" A2:A9 "), " >= " & [E1], _
                                                       Range(" A2:A9 "), " <= " & [E2])
End Sub

Bu özel örnek, yalnızca A2:A9 aralığındaki tarihin E1 hücresindeki başlangıç tarihi ile E2 hücresindeki bitiş tarihi arasında olması durumunda B2:B9 aralığındaki değerleri toplayacaktır.

Toplam, daha sonra E3 hücresinde görüntülenecektir.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: VBA’da iki tarih arasında If nasıl eklenir?

Bir perakende mağazasında farklı tarihlerde satılan ürünlerin toplam sayısı hakkında bilgi içeren aşağıdaki veri setine sahip olduğumuzu varsayalım:

Diyelim ki sadece 01/07/2023 ile 01/26/2023 tarihleri arasındaki satışların toplamını hesaplamak istiyoruz.

Bunun için aşağıdaki makroyu oluşturabiliriz:

 Sub SumifBetweenDates()
Range(" E3 ") = WorksheetFunction.SumIfs(Range(" B2:B9 "), Range(" A2:A9 "), " >= " & [E1], _
                                                       Range(" A2:A9 "), " <= " & [E2])
End Sub

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

E3 hücresinin 16 değerini içerdiğini unutmayın.

Bu, tarihin 01/07/2023 ile 01/26/2023 arasında olduğu satış sütunundaki değerlerin toplamını temsil eder.

Tarih sütununda karşılık gelen değerin 01/7/2023 ile 26/01/2023 arasında olduğu Satış sütunundaki değerlerin toplamını manuel olarak hesaplayarak bunun doğru olduğunu doğrulayabiliriz:

Satışların toplamı: 3 + 7 + 6 = 16 .

Bu, VBA tarafından hesaplanan değere karşılık gelir.

Sırasıyla E1 ve E2 hücrelerindeki başlangıç ve bitiş tarihi değerlerini değiştirip makroyu tekrar çalıştırırsanız, yeni tarihler için satış toplamını hesaplayacağını unutmayın.

Not : Tarih sütunundaki değerlerin Excel’de zaten tarih olarak biçimlendirildiği varsayılmaktadır.

Ek kaynaklar

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

VBA: ETOPLA ve ETOPLA işlevleri nasıl yazılır
VBA: COUNTIF ve COUNTIFS işlevleri nasıl yazılır?
VBA: EĞER ORTALAMA ve EĞER ORTALAMA işlevleri nasıl yazılır

Yorum ekle

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