Sumário

# Função WeekDay

Esta função retorna o número correspondente ao dia da semana representado por um número data serial gerado pelas funções DateSerial ou DateValue.

Esta página de ajuda descreve a função WeekDay usada em scripts Basic. Se estiver interessado na função DIA.DA.SEMANA usada no LibreOffice Calc, consulte esta página de ajuda.

### Sintaxe:

      WeekDay (DataSerial, [PrimeiroDiaDaSemana])

### Parâmetros:

DataSerial: expressão de número inteiro que contém o número de série da data usado para calcular o dia da semana.

PrimeiroDiaDaSemana: valor inteiro que indica qual dia da semana deve ser considerado como primeiro dia da semana. O valor padrão é 0, que significa que as definições da localidade são usadas para determinar o primeiro dia da semana.

O parâmetro PrimeiroDiaDaSemana aceita valores de 0 a 7. A tabela abaixo descreve o significado de cada valor possível:

Valor | Constante de VBA | Descrição
--- | --- | ---
0 | vbUseSystemDayOfWeek | Utilizar definições de localidade do sistema
1 | vbSunday | Domingo (padrão)
2 | vbMonday | Segunda-feira
3 | vbTuesday | Terça-feira
4 | vbWednesday | Quarta-feira
5 | vbThursday | Quinta-feira
6 | vbFriday | Sexta-feira
7 | vbSaturday | Sábado

As constantes VBA listadas acima estão disponíveis apenas se o suporte VBA tiver sido habilitado. Para obter mais informações, leia a página de ajuda Instrução VBASupport .

### Tipo de retorno:

Integer

### Códigos de erro:

5 Chamada de procedimento inválida

### Exemplo:

O exemplo a seguir usa a função Now() para determinar o dia a semana atual.

    Sub ExampleWeekDay
        Dim sDay As String
        ' Retornar e exibir o dia da semana
        Select Case WeekDay( Now )
                Case 1: sDay="Domingo"
                Case 2: sDay="Segunda-feira"
                Case 3: sDay="Terça-feira"
                Case 4: sDay="Quarta-feira"
                Case 5: sDay="Quinta-feira"
                Case 6: sDay="Sexta-feira"
                Case 7: sDay="Sábado"
        End Select
        MsgBox "" + sDay,64,"Hoje é"
    End Sub

O exemplo a seguir ilustra o uso do parâmetro FirstDayOfWeek, supondo que terça-feira seja o primeiro dia da semana.

      Dim someDay As Long
      'A data 1 de janeiro de 2021 foi uma sexta-feira
      someDay = DateSerial(2021, 01, 01)
      ' Imprime "6" assumindo que domingo é o primeiro dia da semana
      MsgBox WeekDay(someDay)
      ' Imprime "4" assumindo que terça é o primeiro dia da semana
      MsgBox WeekDay(someDay, 3)

Tópicos relacionados

Função DateSerial

Função DateValue

Função Now

DIA.DA.SEMANA