Come utilizzare networkdays in vba (con esempio)
È possibile utilizzare il metodo NetworkDays in VBA per trovare il numero di giorni lavorativi interi tra date di inizio e fine specifiche.
Tieni presente che i giorni lavorativi escludono i fine settimana e i giorni festivi.
Ecco un modo comune per utilizzare questo metodo nella pratica:
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
Questo esempio particolare calcola il numero di giorni lavorativi tra le date di inizio nell’intervallo A2:A9 e le date di fine nell’intervallo B2:B9 e visualizza i risultati nell’intervallo C2:C9 .
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: come utilizzare NetworkDays in VBA
Supponiamo di avere il seguente elenco di date di inizio e fine in Excel:
Supponiamo di voler utilizzare il metodo NetworkDays in VBA per calcolare il numero di giorni lavorativi interi tra le date di inizio e di fine di ciascuna riga.
Per fare ciò possiamo creare la seguente macro:
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
Quando eseguiamo questa macro, riceviamo il seguente output:
La colonna C mostra il numero di giorni lavorativi interi tra le date di inizio e di fine in ciascuna riga.
Per esempio:
- Il numero di giorni lavorativi tra il 02/01/2023 e il 03/01/2023 è 2 . (poiché queste due date sono nei fine settimana).
- Il numero di giorni lavorativi tra il 05/01/2023 e l’08/01/2023 è 2 .
- Il numero di giorni lavorativi tra il 10/01/2023 e il 20/01/2023 è 9 .
E così via.
Nota : qui è possibile trovare la documentazione completa del metodo NetworkDays in VBA.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come ottenere il nome del mese dalla data
VBA: come utilizzare IsDate per verificare se la cella è una data
VBA: come utilizzare mm/gg/aaaa come formato data