Contador no Excel VBA

Existem várias maneiras de contar no MS Excel. Podemos usar funções embutidas, como Count, CountIf, CountA, CountBlank, que existem no Excel. Mas essas funções não funcionarão corretamente no VBA e também têm limitações. Para superar isso, temos muitas funções e comandos e o processo pelo qual podemos executar o contador VBA. O contador VBA é usado para contar a célula, contar o conteúdo da célula e também é usado como temporizador de contagem regressiva, quando podemos implementar o quadro de horários para medir qualquer tarefa.

Com a ajuda do contador VBA, também podemos contar as células com seus índices de cores. Esse índice de cores também pode usar a cor da fonte ou a cor de fundo da célula e valores em negrito.

Como criar um contador no Excel VBA?

Abaixo estão os diferentes exemplos para criar um contador no Excel usando o código VBA.

Você pode fazer o download deste modelo de contador VBA Excel aqui - Modelo de contador VBA Excel

Contador VBA - Exemplo # 1

Temos alguns dados de números aleatórios na coluna A. Todos os valores mencionados são aleatórios e não têm conexão, como em sequência ou série. Agora, com a ajuda do processo de contador do VBA, contaremos os números de valor superior e inferior e obteremos a saída na célula D2 e ​​D3.

Contaremos o número e os coloriremos de acordo com o texto colorido nas células C2 e C3.

Para isso, siga as etapas abaixo:

Etapa 1: Crie um botão de comando disponível na guia Desenvolvedor, no controle Active X do menu Inserir, como mostrado abaixo.

Etapa 2: Agora crie um botão como mostrado abaixo.

Etapa 3: Clique com o botão direito do mouse no botão criado e vá para a opção Propriedades .

Etapa 4: altere a legenda do botão que assume como CommandButton2 o nome desejado. Aqui, alteramos isso para " Contando células por valor ".

Etapa 5: uma vez concluído, clique com o botão direito do mouse no botão criado e selecione a opção Exibir código para obter a janela do VBA.

O Editor do Visual Basic está aberto agora e, por padrão, uma sub-rotina já foi criada para o botão de comando.

Código:

 Private Sub CommandButton2_Click () End Sub 

Etapa 6: agora precisamos declarar 3 variáveis. Declare a primeira variável em que armazenaremos os números e a segunda variável pela qual usaremos o contador como números inteiros, como mostrado abaixo. E a variável será tão longa para contar os números armazenados em cada linha.

Código:

 Private Sub CommandButton2_Click () Dim A como número inteiro Dim Count como número inteiro Dim LRow como Long End Sub 

Etapa 7: Agora vamos selecionar a primeira célula da planilha que é A1 como nosso intervalo. A partir daqui, selecionaremos as células até que tenham os números.

Código:

 Sub privado CommandButton2_Click () Dim A como número inteiro Dim Dim como número inteiro Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row End Sub 

Etapa 8: Agora abriremos e gravamos a condição no loop For, se a célula tiver um valor maior que 10, a cor da fonte da célula será alterada para Amarelo e, para o valor menor que 10, a cor da fonte da célula será alterada para Azul com os índices de cores 44 e 55, respectivamente.

Código:

 Private Sub CommandButton2_Click () Dim A como número inteiro Dim Dim como número inteiro Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 To LRow If Cells (A, 1) .Value> 10 Então Count = Count + 1 Cells (A, 1) .Font.ColorIndex = 44 Else Cells (A, 1) .Font.ColorIndex = 55 End If Next A End Sub 

Etapa 9: Agora, para ver a saída dos valores da célula A1 até o final, selecionaremos as células conforme discutido acima pelo código abaixo.

Código:

 Private Sub CommandButton2_Click () Dim A como número inteiro Dim Dim como número inteiro Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 To LRow If Cells (A, 1) .Value> 10 Então Count = Count + 1 Cells (A, 1) .Font.ColorIndex = 44 Else Cells (A, 1) .Font.ColorIndex = 55 End If Next A Cells (2, 4) .Value = Count Cells (3, 4) .Value = 12 - Subde final da contagem 

Etapa 10: agora execute o código pressionando o botão

Veremos que as células que contêm números menores que 10 são destacadas na cor azul. E o maior que 10 é destacado em amarelo.

Contador VBA - Exemplo # 2

Neste exemplo, usaremos o contador VBA para medir o tempo pelo qual podemos medir a tomada que fazemos. Suponha que, se precisarmos medir o tempo necessário para concluir qualquer tarefa, o processo que veremos aqui é o melhor para implementar.

Para isso, siga as etapas abaixo:

Etapa 1: Crie as 2 guias de qualquer forma no menu Inserir opções de formas, como mostrado abaixo. Estamos selecionando Retângulo: Cantos arredondados .

Passo 2: Crie 2 botões e nomeie-os como Iniciar e Redefinir, nos quais iniciaremos o cronômetro e limparemos a hora.

Etapa 3: Agora vá para o VBA e abra um módulo no menu Inserir.

Etapa 4: escreva a subcategoria do timer de início, como mostrado abaixo.

Código:

 Sub Início () Fim Sub 

Etapa 5: considere uma palavra para a próxima linha, como NextRow, onde selecionaremos a planilha na qual queremos implementar o código. Aqui, nossa folha é Sheet2 . E aqui contaremos as linhas da célula +1, que é a célula A2, até que o cursor registre o valor.

Código:

 Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Células (Rows.Count, 1) .End (xlUp) .Row + 1 End Sub 

Etapa 6: Agora, para entrar na próxima linha, usaremos o formato de vértice em que 1 no colchete é para o eixo Y.

Código:

 Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Células (Rows.Count, 1) .End (xlUp) .Row + 1 células (NextRow, 1) = Time End Sub 

Etapa 7: escreva o código para Redefinir abaixo do mesmo código Iniciar.

Código:

 Redefinição Sub () End Sub 

Etapa 8: agora, para redefinir, manteremos o mesmo código que Iniciar, mas a palavra-chave será alterada para LastRow e removemos o +1 apenas para não precisarmos entrar em outra linha.

Código:

 Sub Reset () lastrow = ThisWorkbook.Sheets ("Sheet2"). Células (Rows.Count, 1) .End (xlUp) .Row End Sub 

Etapa 9: Agora, para limpar os dados da última célula da coluna A para a primeira célula, primeiro selecione o intervalo de células com a função ClearContents .

Código:

 Sub Reset () lastrow = ThisWorkbook.Sheets ("Sheet2"). Células (Rows.Count, 1) .End (xlUp). Intervalo de linhas ("A2: A" e lastrow) .ClearContents End Sub 

Agora feche a janela do VBA.

Etapa 10: Clique com o botão direito do mouse na guia Iniciar e selecione a opção Atribuir Macro .

Etapa 11: selecione a sub-codificação Start, que fizemos acima.

Etapa 12: O mesmo acontece com o botão Redefinir. Atribua o subcódigo Redefinir ao botão Redefinir e clique em Ok e saia do modo de design para executar o código.

Etapa 13: Agora clique no botão Iniciar primeiro. Obteremos o horário de início como 3:51:33.

Etapa 14: Agora, clique novamente no botão Iniciar 2-3 vezes para obter vários intervalos de tempo. Veremos, há um intervalo de alguns segundos em cada iteração.

Etapa 15: agora, testaremos o botão Redefinir . Clique em Redefinir. Veremos que os dados estão agora limpos e prontos para outras voltas na contagem do tempo.

Profissionais do Excel VBA Counter

  • É muito fácil implementar o contador de tempos, como vimos no exemplo-2.
  • O VBA Counter tem muitos tipos de implementação, isso não se limita apenas aos exemplos que vimos.

Coisas para lembrar

  • É sempre melhor atribuir o código a qualquer botão quando executamos 2 ou mais tipos de código em um processo.
  • Saia do modo de design depois que a atribuição e execução do código forem feitas na guia Desenvolvedor.
  • Também podemos criar um contador de tempo ao vivo, onde podemos ver a contagem regressiva do tempo ou o tempo de exibição em real.
  • Salve a macro em Macro para habilitar o formato de arquivo excel, para que não percam nosso código.

Artigos recomendados

Este é um guia para o VBA Counter. Aqui discutimos como criar o contador VBA no Excel usando o código VBA, além de exemplos práticos e modelo de excel para download. Você também pode consultar o seguinte artigo para saber mais -

  1. Uso do erro VBA OverFlow no Excel
  2. Exemplos de erro do VBA 1004
  3. Como usar o VBA DoEvents?
  4. Métodos para ocultar colunas no VBA

Categoria: