Descrição da Parte de Data
Retorna uma parte especificada de uma determinada data.
Exemplos simples de DatePart
Aqui está um exemplo simples de DatePart:
123 | Sub DatePart_Year_Test ()MsgBox DatePart ("yyyy", # 1/1/2019 #)End Sub |
Este código retornará 2022.
Sintaxe de DatePart
No Editor VBA, você pode digitar “DatePart (” para ver a sintaxe da função DatePart:
A função DatePart contém 4 argumentos:
Intervalo: Unidade de tempo (dias, meses, anos, etc.). Digite como string. (ex. “m” para mês)
Configuração | Descrição |
---|---|
aaaa | Ano |
q | Trimestre |
m | Mês |
y | Dia do ano |
d | Dia |
C | Dia da semana |
ww | Semana |
h | Hora |
n | Minuto |
s | Segundo |
Encontro: Valor de variente (data) que você deseja avaliar.
Primeiro dia da semana: Uma constante que especifica o primeiro dia da semana. Isso é opcional. Se não for especificado, o domingo será assumido.
Constante | Valor | Descrição |
---|---|---|
vbUseSystem | 0 | Use a configuração da API NLS. |
vbSunday | 1 | Domingo (padrão) |
vbMonday | 2 | Segunda-feira |
vb terça | 3 | terça |
vbquarta | 4 | quarta-feira |
vb quinta-feira | 5 | quinta-feira |
vbFriday | 6 | sexta-feira |
vbSaturday | 7 | sábado |
FirstWeekOfYear: Uma constante que especifica a primeira semana do ano. Isso é opcional. Se não for especificado, a primeira semana será considerada a semana em que ocorrerá 1º de janeiro.
Constante | Valor | Descrição |
---|---|---|
vbUseSystem | 0 | Use a configuração da API NLS. |
vbFirstJan1 | 1 | Comece com a semana em que ocorre 1º de janeiro (padrão). |
vbFirstFourDays | 2 | Comece com a primeira semana que tenha pelo menos quatro dias no ano novo. |
vbFirstFullWeek | 3 | Comece com a primeira semana inteira do ano. |
Programação VBA | O Code Generator funciona para você!
Exemplos de função de partição de data do Excel VBA
Referenciando datas
Para começar, demonstraremos diferentes maneiras de fazer referência a datas usando a função VBA DatePart.
Cada uma dessas funções DatePart produz o mesmo resultado:
123456789 | Sub DateAdd_ReferenceDates ()MsgBox DatePart ("yyyy", # 4/1/2019 #)MsgBox DatePart ("yyyy", DateSerial (2019, 4, 1))MsgBox DatePart ("yyyy", DateValue ("1 de abril de 2022"))End Sub |
Ou você pode fazer referência a uma célula que contém uma data:
12345 | Sub DatePart_ReferenceDate_Cell ()MsgBox DatePart ("aaaa", Intervalo ("C2"). Valor)End Sub |
Ou crie e faça referência a variáveis de data:
12345678 | Sub DatePart_Variable ()Dim dt As Datedt = # 4/1/2019 #MsgBox DateAdd ("yyyy", dt)End Sub |
Usando Diferentes Unidades de Intervalo
Trimestre
123 | Sub DatePart_Quarter ()MsgBox DatePart ("q", # 6/30/2019 #)End Sub |
Mês
12345 | Sub DatePart_Month ()MsgBox DatePart ("m", # 6/30/2019 #)'equivalenteMsgBox Mês (# 6/30/2019 #)End Sub |
Dia
12345 | Sub DatePart_Day ()MsgBox DatePart ("d", # 6/30/2019 #)'equivalenteMsgBox Day (# 6/30/2019 #)End Sub |
Semana
12345 | Sub DatePart_Week_Test ()MsgBox DatePart ("w", # 6/30/2019 #)'equivalenteDia da semana MsgBox (# 6/30/2019 #)End Sub |
Hora
123456789101112 | Sub DatePart_Hour ()Dim dt As DateDim nHour enquantodt = # 8/14/2019 9:30:00 AM #nHour = DatePart ("h", dt)MsgBox nHour'equivalenteHora MsgBox (dt)End Sub |
Minutos
123456 | Sub DatePart_Minute ()MsgBox DatePart ("n", # 8/14/2019 9:15:00 AM #)'equivalenteMsgBox Minute (# 8/14/2019 9:15:00 AM #)MsgBox Minute (# 9: 15: 00 AM #)End Sub |
Segundo
123456 | Sub DatePart_Second ()MsgBox DatePart ("s", # 8/14/2019 9:15:15 #)'equivalenteMsgBox Second (# 8/14/2019 9:15:15 #)MsgBox segundo (# 9: 15: 15h #)End Sub |