Vba'da hafta i̇çi i̇şlevi nasıl kullanılır (örnekle)
Belirli bir tarihten itibaren haftanın gününü (tamsayı olarak) almak için VBA’daki Weekday işlevini kullanabilirsiniz.
Bu işlevi pratikte kullanmanın yaygın bir yolu aşağıda verilmiştir:
Sub FindWeekday()
Dim i As Integer
For i = 2 To 9
Range(" B " & i) = WorksheetFunction.Weekday(Range(" A " & i))
Next i
End Sub
Bu özel makro, A2:A9 aralığındaki her tarih için haftanın gününü (tamsayı olarak) bulur ve sonuçları B2:B9 aralığında görüntüler.
Aşağıdaki tam sayıların haftanın her gününe karşılık geldiğini unutmayın:
- 1 : Pazar
- 2 : Pazartesi
- 3 : Salı
- 4 : Çarşamba
- 5 : Perşembe
- 6 : Cuma
- 7 : Cumartesi
Aşağıdaki örnekte Hafta içi fonksiyonunun pratikte nasıl kullanılacağı gösterilmektedir.
Not : Haftanın gününü ad olarak döndürmeyi tercih ederseniz bunun yerine WeekdayName işlevini kullanmalısınız.
Örnek: Haftanın gününü bulmak için VBA’daki Hafta içi işlevini kullanın
Excel’de aşağıdaki tarih sütununun bulunduğunu varsayalım:
Her tarih için haftanın gününü (tam sayı olarak) almak ve sonuçları B sütununda görüntülemek istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
Sub FindWeekday()
Dim i As Integer
For i = 2 To 9
Range(" B " & i) = WorksheetFunction.Weekday(Range(" A " & i))
Next i
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
B Sütunu, A sütunundaki her tarih için haftanın gününü (tamsayı olarak) görüntüler.
Örneğin:
- 1/1/2023 Pazar olduğundan Weekday işlevi 1 değerini döndürür.
- 1/4/2023 Çarşamba olduğundan Weekday işlevi 4 değerini döndürür.
- 23.02.2023 perşembe olduğundan Weekday işlevi 5 değerini döndürür.
Ve benzeri.
Not : VBA Weekday işlevine ilişkin tüm belgeleri burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA’da tarihler nasıl karşılaştırılır
VBA’da tarihi hafta numarasına dönüştürme
VBA’da iki tarih arasındaki günler nasıl hesaplanır