Vba: tarihi hafta numarasına dönüştürme


Bir tarihi hafta numarasına dönüştürmek için VBA’da aşağıdaki temel sözdizimini kullanabilirsiniz:

 Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i))
    Next i
    
End Sub

Bu özel örnek, A2:A9 aralığındaki her tarih için hafta numarasını bulacak ve sonuçları B2:B9 aralığında gösterecektir.

VBA WeekNum yönteminin haftaların Pazar günü başladığını varsaydığını unutmayın.

Haftanın başlangıcı olarak başka bir günü belirtmek için WeekNum yöntemine ikinci bir bağımsız değişken ekleyebilirsiniz:

 Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i), vbMonday)
    Next i
    
End Sub

Aşağıdaki örnek, pratikte tarihleri hafta sayılarına dönüştürmek için WeekNum yönteminin nasıl kullanılacağını gösterir.

Örnek: VBA’da tarihi hafta numarasına dönüştürün

Excel’de aşağıdaki tarih sütununun bulunduğunu varsayalım:

Her tarihi bir hafta numarasına dönüştürmek ve hafta numarasını B sütununda görüntülemek istediğimizi varsayalım.

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

 Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i))
    Next i
    
End Sub

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

VBA tarihi hafta numarasına dönüştürüyor

B sütunu, haftaların Pazar günü başladığını varsayarak, A sütunundaki her tarih için hafta numarasını görüntüler.

Haftanın başlangıcı olarak başka bir günü (örneğin Pazartesi) belirtmek isterseniz aşağıdaki sözdizimini kullanabilirsiniz:

 Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i), vbMonday)
    Next i
    
End Sub

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

Haftaların Pazartesi günü başladığı varsayılarak, B sütunu artık B sütunundaki her tarih için hafta numarasını görüntüler.

Not : VBA WeekNum yöntemine 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 dizeyi tarihe dönüştürme
VBA’da iki tarih arasındaki günler nasıl hesaplanır

Yorum ekle

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