Come utilizzare la funzione workday in vba (con esempio)
È possibile utilizzare il metodo WorkDay in VBA per aggiungere o sottrarre un numero specifico di giorni lavorativi da una data.
Ecco un modo comune per utilizzare questo metodo nella pratica:
SubAddWorkDays ()
Dim i As Integer
For i = 2 To 10
Range("C" & i) = WorksheetFunction.WorkDay(Range("A" & i), Range("B" & i))
Next i
End Sub
Questa particolare macro aggiunge il numero di giorni lavorativi specificati nell’intervallo B2:B10 a ciascuna data nell’intervallo A2:A10 e visualizza i risultati nell’intervallo C2:C10 .
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: come utilizzare la funzione WorkDay in VBA
Supponiamo di avere una colonna di date in Excel e un’altra colonna che specifica il numero di giorni lavorativi da aggiungere a ciascuna data:
Possiamo creare la seguente macro per aggiungere il numero di giorni lavorativi nella colonna B a ciascuna data corrispondente nella colonna A:
SubAddWorkDays ()
Dim i As Integer
For i = 2 To 10
Range("C" & i) = WorksheetFunction.WorkDay(Range("A" & i), Range("B" & i))
Next i
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Per impostazione predefinita, la colonna C visualizza le date come numeri di serie.
Per visualizzare questi valori come date riconoscibili, evidenziare l’intervallo C2:C10 , quindi fare clic sulla scheda Inserisci lungo la barra multifunzione superiore, quindi fare clic sul menu a discesa Formato numero e fare clic su Data breve :
Ogni numero di serie verrà ora visualizzato come una data:
La colonna C mostra ciascuna data nella colonna A con il numero specifico di giorni lavorativi nella colonna B aggiunto.
Tieni presente che se specifichiamo un numero negativo nella colonna B, il metodo WorkDay sottrarrà quel numero di giorni lavorativi dalla data nella colonna A.
Nota : qui potete trovare la documentazione completa del metodo VBA WorkDay .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come ottenere il nome del mese dalla data
VBA: come ordinare per data
VBA: come aggiungere se tra due date