Vba'da networkdays nasıl kullanılır (örnekle)
Belirli başlangıç ve bitiş tarihleri arasındaki iş günlerinin tamamının sayısını bulmak için VBA’da NetworkDays yöntemini kullanabilirsiniz.
İş günlerinin hafta sonları ve tatilleri kapsamadığını unutmayın.
Bu yöntemi pratikte kullanmanın yaygın bir yolu:
Sub CalculateNetworkDays()
Dim i As Integer
For i = 2 To 9
Range("C" & i) = WorksheetFunction.NetworkDays(Range("A" & i), Range("B" & i))
Next i
End Sub
Bu özel örnek, A2:A9 aralığındaki başlangıç tarihleri ile B2:B9 aralığındaki bitiş tarihleri arasındaki iş günü sayısını hesaplar ve sonuçları C2:C9 aralığında görüntüler.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: VBA’da NetworkDays nasıl kullanılır?
Excel’de aşağıdaki başlangıç ve bitiş tarihleri listesine sahip olduğumuzu varsayalım:
Her satırın başlangıç ve bitiş tarihleri arasındaki tam iş günü sayısını hesaplamak için VBA’da NetworkDays yöntemini kullanmak istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
Sub CalculateNetworkDays()
Dim i As Integer
For i = 2 To 9
Range("C" & i) = WorksheetFunction.NetworkDays(Range("A" & i), Range("B" & i))
Next i
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
C sütunu, her satırdaki başlangıç ve bitiş tarihleri arasındaki tam iş günü sayısını gösterir.
Örneğin:
- 1/2/2023 ile 1/3/2023 tarihleri arasındaki iş günü sayısı 2’dir . (çünkü bu iki tarih hafta sonlarıdır).
- 1/5/2023 ile 1/8/2023 tarihleri arasındaki iş günü sayısı 2’dir .
- 01/10/2023 ile 01/20/2023 tarihleri arasındaki iş günü sayısı 9’dur .
Ve benzeri.
Not : VBA’daki NetworkDays yönteminin tam belgelerini 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: Tarihten ay adı nasıl alınır
VBA: Hücrenin tarih olup olmadığını kontrol etmek için IsDate nasıl kullanılır?
VBA: tarih formatı olarak aa/gg/yyyy nasıl kullanılır?