Vba: como converter a data em número da semana


Você pode usar a seguinte sintaxe básica em VBA para converter uma data em um número de semana:

 Sub FindWeekNumber()
    
    Dim i As Integer

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

Este exemplo específico encontrará o número da semana para cada data no intervalo A2:A9 e exibirá os resultados no intervalo B2:B9 .

Observe que o método VBA WeekNum pressupõe que as semanas começam no domingo.

Para especificar outro dia como início da semana, você pode adicionar um segundo argumento ao método 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

O exemplo a seguir mostra como usar o método WeekNum para converter datas em números de semanas na prática.

Exemplo: converter data em número da semana em VBA

Suponha que temos a seguinte coluna de data no Excel:

Suponha que queiramos converter cada data em um número de semana e exibir o número da semana na coluna B.

Podemos criar a seguinte macro para fazer isso:

 Sub FindWeekNumber()
    
    Dim i As Integer

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

Quando executamos esta macro, recebemos a seguinte saída:

VBA converte data em número da semana

A coluna B exibe o número da semana para cada data na coluna A, assumindo que as semanas começam no domingo.

Se quiser especificar outro dia como início da semana, por exemplo segunda-feira, você pode usar a seguinte sintaxe:

 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 executamos esta macro, recebemos a seguinte saída:

A coluna B agora exibe o número da semana para cada data na coluna B, assumindo que as semanas começam na segunda-feira.

Nota : Você pode encontrar a documentação completa do método VBA WeekNum aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

Como comparar datas em VBA
Como converter string para data em VBA
Como calcular dias entre duas datas em VBA

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *