Hora VBA - Como usar a função de tempo VBA do Excel? (Exemplos)

Índice:

Anonim

Horário do VBA do Excel

A função VBA TIME retorna a hora atual como saída e também pode ser usada como entrada para diferentes linhas de código da macro. Esta função não possui nenhum parâmetro definido e, portanto, possui de longe a sintaxe mais simples como palavra TIME com parênteses vazios, que podem ser vistos abaixo:

A sintaxe da função VBA TIME:

Tempo()

De fato, também não há necessidade de parênteses; você pode simplesmente usar a palavra TIME no seu bloco de código, o que permite que o sistema retorne a hora atual. Também temos uma função semelhante chamada NOW () no Excel VBA, que retorna a hora atual e a data. No entanto, neste artigo, todo o nosso foco seria o uso da função TIME e a observação de diferentes exemplos de trabalho da mesma.

Como usar a função de tempo VBA do Excel?

Vamos aprender como usar uma função VBA Time com alguns exemplos no Excel.

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

Função de Tempo VBA - Exemplo # 1

Hora atual do sistema usando a função TIME:

Siga as etapas abaixo para exibir a hora atual do seu sistema.

Etapa 1: defina um subprocedimento.

Código:

 Sub TimeExample1 () End Sub 

Etapa 2: defina uma variável que será útil para armazenar o valor do tempo para você. Defina-o como String.

Código:

 Sub TimeExample1 () Dim CurrentTime As String End Sub 

Nota: O motivo por trás da definição dessa variável como String é que a saída da função TIME está em uma string.

Etapa 3: use a função VBA TIME para atribuir a hora atual à variável definida na etapa acima usando um operador de atribuição.

Código:

 Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time End Sub 

Etapa 4: Como mencionei anteriormente, não há necessidade de adicionar parênteses após a função TIME, pois esta é uma função volátil. Dito isto, o código a seguir fornecerá a saída equivalente em comparação com o código acima.

Código:

 Sub TimeExample1 () Dim CurrentTime Como String CurrentTime = Time () End Sub 

Etapa 5: Agora, use uma função MsgBox para exibir a hora atual usando a caixa de mensagem do visor.

Código:

 Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time () MsgBox CurrentTime End Sub 

Etapa 6: execute esse código pressionando F5 ou o botão Executar e veja a saída. Você deve obter a saída conforme mostrado na imagem abaixo.

Observe que o tempo refletido na imagem acima é o tempo em que esse código é executado no sistema. Ao tentar fazer isso sozinho, sua saída pode variar dependendo do tempo em que você estiver trabalhando neste código.

Função de tempo VBA - exemplo # 2

VBA TIME em combinação com a função Data para retornar o horário atual com a Data de hoje:

Como foi informado anteriormente na introdução deste artigo, existe uma função chamada NOW () que fornece a data atual e a hora no Microsoft Excel. Veja a imagem abaixo.

No entanto, no VBA, não temos essa função funcionando. Portanto, no VBA, precisamos usar uma combinação das funções VBA Date e VBA TIME para obter a data e a hora atuais. A Data do VBA fornecerá uma data atual e a Hora do VBA fornecerá a hora atual (que já vimos no exemplo).

Vamos ver passo a passo como podemos conseguir isso.

Etapa 1: Insira um novo módulo no seu script VBA do Excel.

Etapa 2: defina um novo subprocedimento, atribuindo um nome à macro.

Código:

 Sub Exemplo2 () End Sub 

Etapa 3: Queríamos que nossa saída fosse armazenada na célula A1 da nossa planilha do Excel. Para isso, comece a escrever o código como abaixo.

Código:

 Sub Exemplo2 () Intervalo ("A1"). Valor = Final Sub 

Etapa 4: Agora, use uma combinação das funções VBA DATE e VBA TIME, como mostrado abaixo, e atribua seu valor à célula A1.

Código:

 Subexemplo2 () Intervalo ("A1"). Valor = Data & "" & Hora Fim Sub 

A função DATA retornará a data atual do sistema e a função HORA retornará a hora atual. O espaço em branco entre aspas duplas (““) permite ter um espaço entre data e hora na saída final. Dois operadores (e) funcionam como operadores concatenadores que concatenam DATE e TIME com espaço nele.

Etapa 5: execute o código pressionando F5 ou o botão Executar manualmente. Você verá a saída na célula A1 da sua planilha como golpe:

Aqui, novamente, observe que o horário refletido na célula A1 é data e hora em que esse código está sendo executado por mim. Portanto, quando você executar esse código, as saídas serão diferentes.

Também podemos formatar os valores de data e hora usando a função NumberFormat no VBA.

Etapa 6: escreva o código mencionado abaixo no seu script VBA.

Código:

 Subexemplo2 () Intervalo ("A1"). Valor = Data & "" & Intervalo de horas ("A1"). NumberFormat = "dd-mmm-aaaa hh: mm: ss AM / PM" End Sub 

Etapa 7: pressione F5 ou o botão Executar manualmente e você verá a saída abaixo na célula A1 da sua planilha.

Função de Tempo VBA - Exemplo # 3

Função VBA TIME para rastrear a hora e a data de abertura de uma pasta de trabalho:

Às vezes, há uma planilha que abrimos com frequência (lista de funcionários como uma organização) e fazemos alterações nela. Podemos estar interessados ​​em saber a data e a hora em que as alterações foram feitas na planilha. A função Hora do VBA pode ser usada para rastrear a data e a hora toda vez que uma pasta de trabalho é aberta. Veja as etapas abaixo para trabalhar da mesma maneira.

Etapa 1: Crie uma nova planilha na pasta de trabalho do Excel e renomeie-a conforme sua conveniência. Vou renomeá-lo como (Time_Track).

Etapa 2: clique duas vezes em ThisWorkbook em VBE (Visual Basics Editor).

Etapa 3: Na lista suspensa de objetos, selecione Pasta de trabalho em vez de Geral.

Etapa 4: você verá que um novo sub-procedimento privado será definido sob o nome Workbook_Open () no VBE.

Código:

 Private Sub Workbook_Open () End Sub 

Etapa 5: anote o código abaixo mencionado neste subprocedimento de macro, como mostra a imagem abaixo:

Código:

 Private Sub Workbook_Open () Dim LB As Long LB = Sheets ("Time_Track"). Células (Rows.Count, 1) .End (xlUp) .Row + 1 Sheets ("Time_Track"). Células (LB, 1) .Value = Data e "" e Hora () Fim Sub 

Aqui, uma variável LB do tipo Long é definida para descobrir a célula próxima à última célula usada na qual a saída pode ser armazenada. Em seguida, usando uma combinação das funções VBA DATE e TIME, atribuímos um valor nessa célula.

Etapa 6: execute o código pressionando F5 ou o botão Executar manualmente e veja a saída na coluna A de uma planilha.

Esse código armazenará o valor de Data e hora toda vez que você abrir a planilha Time_Track.

É isso neste artigo. Vamos encerrar as coisas escrevendo algumas coisas para lembrar.

Coisas para lembrar

  • A função VBA TIME armazena a saída como uma string no Excel. No entanto, também podemos armazená-lo como formato de Data enquanto definimos uma variável como Data em vez de uma sequência.
  • A função TIME não requer nenhum argumento. É uma função volátil.
  • Mesmo que não precise de parênteses para chamar a função. Apenas TIME é suficiente para obter a hora atual.
  • A função TIME, por padrão, armazena o valor do tempo no formato hh: mm: ss (formato de relógio de 24 horas). No entanto, algumas vezes o formato de saída também depende do formato da hora do sistema.

Artigos recomendados

Este foi um guia para a função de tempo do VBA. Aqui discutimos como usar as funções de tempo do VBA do Excel e também aprendemos a combinação de data e hora como uma alternativa à função Now () e acompanha os registros abertos da pasta de trabalho, juntamente com alguns exemplos práticos e o modelo do Excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Como criar Excel VBA MsgBox?
  2. WORKDAY Função Excel | Fórmula
  3. Guia do VBA Do While Loop
  4. Inserir data no Excel