Conteúdo

# Função WeekDay

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

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

### Sintaxe:

      WeekDay (SerialDate, [FirstDayOfWeek])

### Parâmetros:

SerialDate: Expressão inteira que contém o número de data serial utilizado para calcular o dia da semana.

FirstDayOfWeek: Valor inteiro que indica qual o dia da semana que deve ser considerado como o primeiro dia da semana. O valor predefinido é 0, o que significa que as definições de localização do sistema são utilizadas para determinar o primeiro dia da semana.

O parâmetro FirstDayOfWeek aceita valores compreendidos entre 0 e 7. A tabela abaixo descreve o significado de cada valor possível:

Valor | Constante VBA | Descrição
--- | --- | ---
0 | vbUseSystemDayOfWeek | Utilizar as definições de localização do sistema
1 | vbSunday | Domingo (por predefiniçã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 acima referidas só estão disponíveis se o suporte a VBA tiver sido ativado. Para mais informações, consulte a página de ajuda Instrução VBASupport.

### Tipo de retorno:

Número inteiro

### Códigos de erro

5 Chamada de procedimento inválido

### Exemplo:

O exemplo seguinte utiliza a função Now() para determinar o dia da semana atual.

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

O exemplo seguinte ilustra a utilização do parâmetro FirstDayOfWeek, partindo do princípio de que a terça-feira é o primeiro dia da semana.

      Dim someDay As Long
      ' O dia 1 de janeiro de 2021 foi uma sexta-feira
      someDay = DateSerial(2021, 01, 01)
      ' Imprime «6», partindo do princípio de que o domingo é o primeiro dia da semana
      MsgBox WeekDay(someDay)
      ' Imprime «4», partindo do princípio de que terça-feira é o primeiro dia da semana
      MsgBox WeekDay(someDay, 3)

Tópicos relacionados

Função DateSerial

D'oh! You found a bug (text/sbasic/shared/03030102.xhp#DateValue_H1 not found).

Função Now

WEEKDAY

Necessitamos da sua ajuda!