Excel VBA DatePart

Suponha que tenhamos datas em nossos dados e não sabemos em que semana ou em que parte do mês é. Existem várias maneiras de descobrir isso. No Excel, existem algumas fórmulas complexas que precisamos executar para encontrar isso. Por exemplo, se houver uma data, 02 de fevereiro de 2019, o cálculo para descobrir o trimestre dessa data no Excel é complexo. No entanto, o VBA fornece uma função muito útil chamada DatePart, que realiza esses cálculos para nós.

Eu expliquei acima agora porque usamos a função DatePart no VBA. Esta função é usada para descobrir a parte da data, seja dia, mês, semana, trimestre ou mesmo horas ou segundos. Esta função retorna o número inteiro como uma saída. Para entender mais sobre essa função, vamos primeiro examinar a sintaxe dessa função em detalhes.

Sintaxe de DatePart no Excel VBA

Vejamos a sintaxe abaixo para DatePart no Excel VBA.

Como podemos ver, há um total de quatro argumentos fornecidos para essa função. Os dois primeiros argumentos são obrigatórios, enquanto os outros dois argumentos são opcionais. No entanto, se não fornecermos os dois últimos argumentos, o VBA terá seus próprios valores padrão.

  • Intervalo: este argumento é fornecido como uma sequência para esta função. Esse argumento pode ser um mês, semana, ano, dia ou mesmo hora ou minutos ou segundos. Por exemplo, por um quarto a sintaxe será "q" ou, durante o ano, a sintaxe será "aaaa" e assim por diante.
  • Data: Esta é a data de entrada que fornecemos a esta função para cuja parte queremos descobrir.
  • FirstDayofWeek: este é um argumento opcional que fornecemos a essa função. Mas se não fornecermos o primeiro dia da semana para a função, o VBA tratará automaticamente DOMINGO como o primeiro dia da semana. Há uma sintaxe diferente para fornecer esse argumento da seguinte maneira:

vbUseSystem (Essa sintaxe usa NLS API SETTING), vbSunday (esse é o argumento padrão), vbMonday, vbTuesday, vbWednesday, vbThursday, vbFriday, vbSaturday (todos esses argumentos são opcionais)

  • FirstWeekofYear: Este também é um argumento opcional para esta função. Mais uma vez, se não fornecermos esse argumento, o VBA considerará automaticamente a primeira semana, a que for a primeira de 1º de janeiro. Também para esse argumento, existem diferentes sintaxes, são as seguintes:

vbUseSystem, vbFirstJan1 (esse é o padrão), vbFirstFourDays (esse argumento começa com a primeira semana que possui pelo menos os primeiros quatro dias no ano novo), vbFirstFullWeek (esse argumento começa com a primeira semana completa do ano).

Agora que aprendemos sobre as funções e seus argumentos, vamos testar essa função em exemplos.

Como usar a função DatePart no Excel VBA?

Abaixo estão os diferentes exemplos para usar a função DatePart no Excel usando o código VBA.

Você pode fazer o download deste modelo do VBA DatePart Excel aqui - Modelo do VBA DatePart Excel

Excel VBA DatePart - Exemplo # 1

Vamos dar uma entrada do usuário como data e parte que o usuário deseja descobrir; depois, usaremos a função DatePart e exibiremos o resultado.

Siga as etapas abaixo para usar a função DatePart no Excel VBA:

Etapa 1: Na guia do desenvolvedor, na seção de códigos, clique em Visual basic, que nos levará ao Editor de VB.

Etapa 2: Uma vez no Editor de VB, insira um novo módulo no projeto VBA, como mostrado abaixo.

Etapa 3: Agora clique duas vezes no módulo e comece a declarar um novo subprocedimento, como mostrado abaixo.

Código:

 Subamostra () End Sub 

Etapa 4: defina três variáveis, uma como String e date, que conterá a parte e a data da data de entrada e outra como um número inteiro, que armazenará nossa saída.

Código:

 Sub Amostra () Dim Dt Como Data, Prt Como String, Res Como Inteiro Final Sub 

Etapa 5: na variável date, solicite a entrada do usuário para a data de entrada.

Código:

 Subamostra () Dim Dt como data, Prt como string, Res como número inteiro Dt = InputBox ("Digite uma data") End Sub 

Etapa 6: No Prt, que faz parte, insira o usuário para a parte da data que precisamos descobrir.

Código:

 Subamostra () Dim Dt como data, Prt como string, Res como inteiro Dt = InputBox ("Digite uma data") Prt = InputBox ("Digite Data Data") End Sub 

Etapa 7: Agora, na variável Res que é resultado, vamos descobrir o resultado usando a função DatePart da seguinte maneira.

Código:

 Subamostra () Dim Dt como data, Prt como string, Res como número inteiro Dt = InputBox ("Digite uma data") Prt = InputBox ("Digite parte da data") Res = DatePart (Prt, Dt) End Sub 

Etapa 8: Exiba o valor armazenado em Res usando a função msgbox.

Código:

 Subamostra () Dim Dt como data, Prt como string, Res como número inteiro Dt = InputBox ("Digite uma data") Prt = InputBox ("Digite data Data") Res = DatePart (Prt, Dt) MsgBox Res End Sub Sub 

Etapa 9: Agora, execute o código acima pressionando a tecla F5 ou clicando no botão Play e forneça uma data da seguinte maneira.

Etapa 10: insira o valor da parte da data.

Etapa 11: Pressione OK para ver o resultado, como mostrado abaixo.

Obtemos 1 como resultado na data em que fornecemos como insumo cai no primeiro trimestre do ano.

Excel VBA DatePart - Exemplo # 2

Desta vez, vamos fornecer a data diretamente para a função no código. Siga as etapas abaixo para usar a função DatePart no Excel VBA:

Etapa 1: no mesmo módulo, defina outro subprocedimento, como mostrado abaixo.

Código:

 Sub Amostra1 () End Sub 

Etapa 2: defina uma variável como Inteiro e uma variável como Data, como mostrado abaixo.

Código:

 Sub Amostra1 () Dim Dt Como Data, Res Como Inteiro Final Sub 

Etapa 3: forneça uma data para a variável.

Código:

 Sub Amostra1 () Dim Dt Como Data, Res Como Inteiro Dt = # 2/2/2019 # End Sub 

Etapa 4: Na variável Res, vamos calcular a semana da data usando a função DatePart.

Código:

 Subamostra1 () Dim Dt como data, Res como número inteiro Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) End Sub 

Etapa 5: Exiba o valor armazenado na variável usando a função msgbox.

Código:

 Sub Amostra1 () Dim Dt como data, Res como número inteiro Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) MsgBox Res End Sub Sub 

Etapa 6: execute o código acima pressionando a tecla F5 ou clicando no botão Play para obter o seguinte resultado.

A data que fornecemos como insumo cai na quinta semana do ano.

Excel VBA DatePart - Exemplo # 3

Vamos tentar um exemplo da vida real. Na planilha 1 da célula A1, usei a fórmula = Now () para obter a data e a hora atuais e descobriremos a parte da data dessa célula.

Siga as etapas abaixo para usar a função DatePart no Excel VBA:

Etapa 1: no mesmo módulo, defina outro subprocedimento da seguinte maneira.

Código:

 Sub Amostra2 () End Sub 

Etapa 2: defina duas variáveis, uma como Data e outra como um número inteiro.

Código:

 Sub Amostra2 () Dim Dt Como Data, Res Como Inteiro Final Sub 

Etapa 3: Na variável Dt, armazene o valor da célula A1 como a seguir.

Código:

 Sub Amostra2 () Dim Dt Como Data, Res Como Inteiro Dt = Intervalo ("A1"). Valor Fim Sub 

Etapa 4: Agora, na variável res, vamos calcular a parte da semana para a entrada usando a função DatePart.

Código:

 Sub Amostra2 () Dim Dt Como Data, Res Como Inteiro Dt = Intervalo ("A1"). Valor Res = DataPart ("ww", Dt) End Sub 

Etapa 5: Exiba o valor armazenado na variável usando a função Msgbox.

Código:

 Sub Amostra2 () Dim Dt Como Data, Res Como Inteiro Dt = Intervalo ("A1"). Valor Res = DataPart ("ww", Dt) MsgBox Res End Sub 

Etapa 6: execute o código acima pressionando a tecla F5 ou clicando no botão Play para obter o seguinte resultado.

A data atual é 25 de julho, que é a 30 a semana do ano de 2019.

Coisas para lembrar

  • É função de data, mas retorna um valor inteiro.
  • Os dois primeiros argumentos são obrigatórios, enquanto os outros dois argumentos são opcionais.
  • O VBA possui seus próprios argumentos padrão se não fornecermos os dois últimos argumentos para a função DatePart.
  • Esta função é uma função VBA e não uma função de planilha.

Artigos recomendados

Este é um guia para o VBA DatePart. Aqui discutimos como usar a função DatePart no Excel usando o código VBA, juntamente com alguns exemplos práticos e o modelo do Excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. DateAdd VBA
  2. Fórmula HOJE no Excel
  3. Função Data VBA
  4. NOW Excel Function
  5. Como usar o formato de data VBA no Excel?
  6. Onde escrever código no VBA?

Categoria: