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 ExcelFunçã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 1º 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 -
- Como criar Excel VBA MsgBox?
- WORKDAY Função Excel | Fórmula
- Guia do VBA Do While Loop
- Inserir data no Excel