Vba: come convertire la data nel numero della settimana


È possibile utilizzare la seguente sintassi di base in VBA per convertire una data in un numero di settimana:

 Sub FindWeekNumber()
    
    Dim i As Integer

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

Questo esempio particolare troverà il numero della settimana per ciascuna data nell’intervallo A2:A9 e visualizzerà i risultati nell’intervallo B2:B9 .

Tieni presente che il metodo VBA WeekNum presuppone che le settimane inizino di domenica.

Per specificare un altro giorno come inizio della settimana, puoi aggiungere un secondo argomento al metodo WeekNum :

 Sub FindWeekNumber()
    
    Dim i As Integer

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

L’esempio seguente mostra come utilizzare nella pratica il metodo WeekNum per convertire le date in numeri di settimana.

Esempio: convertire la data nel numero della settimana in VBA

Supponiamo di avere la seguente colonna di data in Excel:

Supponiamo di voler convertire ciascuna data in un numero di settimana e visualizzare il numero di settimana nella colonna B.

Per fare ciò possiamo creare la seguente macro:

 Sub FindWeekNumber()
    
    Dim i As Integer

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

Quando eseguiamo questa macro, riceviamo il seguente output:

VBA converte la data nel numero della settimana

La colonna B mostra il numero della settimana per ciascuna data nella colonna A, presupponendo che le settimane inizino di domenica.

Se vuoi specificare un altro giorno come inizio settimana, ad esempio lunedì, puoi utilizzare la seguente sintassi:

 Sub FindWeekNumber()
    
    Dim i As Integer

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

Quando eseguiamo questa macro, riceviamo il seguente output:

La colonna B ora mostra il numero della settimana per ciascuna data nella colonna B, presupponendo che le settimane inizino di lunedì.

Nota : qui è possibile trovare la documentazione completa per il metodo VBA WeekNum .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:

Come confrontare le date in VBA
Come convertire la stringa fino ad oggi in VBA
Come calcolare i giorni tra due date in VBA

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *