Como usar a função de dia da semana em vba (com exemplo)


Você pode usar a função Weekday no VBA para obter o dia da semana (como um número inteiro) de uma determinada data.

Esta é uma maneira comum de usar esta função na prática:

 Sub FindWeekday()
    
    Dim i As Integer

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

Esta macro específica encontrará o dia da semana (como um número inteiro) para cada data no intervalo A2:A9 e exibirá os resultados no intervalo B2:B9 .

Observe que os seguintes números inteiros correspondem a cada dia da semana:

  • 1 : domingo
  • 2 : segunda-feira
  • 3 : terça-feira
  • 4 : quarta-feira
  • 5 : quinta-feira
  • 6 : sexta-feira
  • 7 : sábado

O exemplo a seguir mostra como usar a função Weekday na prática.

Nota : Se preferir retornar o dia da semana como nome, você deve usar a função WeekdayName.

Exemplo: use a função Weekday em VBA para encontrar o dia da semana

Suponha que temos a seguinte coluna de data no Excel:

Suponha que queiramos obter o dia da semana (como um número inteiro) para cada data e exibir os resultados na coluna B.

Podemos criar a seguinte macro para fazer isso:

 Sub FindWeekday()
    
    Dim i As Integer

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

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

A coluna B exibe o dia da semana (como um número inteiro) para cada data na coluna A.

Por exemplo:

  • 01/01/2023 é domingo, então a função Weekday retorna 1 .
  • 04/01/2023 é quarta-feira, então a função Weekday retorna 4 .
  • 23/02/2023 é quinta-feira, então a função Weekday retorna 5 .

E assim por diante.

Nota : Você pode encontrar a documentação completa da função VBA Weekday aqui .

Recursos adicionais

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

Como comparar datas em VBA
Como converter data em número da semana 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 *