Função VBA COUNTA do Excel

Você pode ter usado frequentemente as funções COUNT e COUNTA no Microsoft Excel. Onde COUNT captura todos os valores numéricos em uma célula, COUNTA captura todas as células não vazias (incluindo cadeias). Por qualquer meio é possível usar a função COUNTA através do VBA? Absolutamente sim! Você pode usar a função COUNTA através do VBA como uma função de planilha (como parte da família WorksheetFunction no VBA) para contar as células não vazias em um determinado intervalo de planilhas. A vantagem da função COUNTA sobre COUNT é - ela pode contar qualquer coisa (números, seqüências de caracteres, caracteres especiais, valores de erro etc.), exceto células vazias em um determinado intervalo, enquanto COUNT pode contar apenas o número de células que consistem nos valores numéricos .

Sintaxe do VBA COUNTA:

A sintaxe da função VBA COUNTA é mostrada abaixo:

Onde,

Arg1 - Especifica o argumento para esta função que é obrigatório e pode assumir qualquer valor não vazio, como número, sequência, valores de erro (como # N / A, # DIV / 0!), Caracteres especiais etc. opcional.

Esta função pode receber no máximo 30 argumentos em uma única chamada. Um argumento pode consistir em um intervalo de células ou em um único valor que é inserido manualmente.

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

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

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

Exemplo # 1 - VBA COUNTA com argumentos manuais como entrada

Veremos como a função COUNTA funciona quando fornecemos argumentos manuais no VBA. Siga os passos abaixo mencionados:

Etapa 1: Insira um novo módulo no Visual Basic Editor (VBE). Clique na guia Inserir > selecione Módulo.

Etapa 2: defina um novo subprocedimento no módulo recém-inserido, que pode conter sua macro.

Código:

 Sub Exemplo_1 () End Sub 

Etapa 3: decida onde queremos armazenar a saída para a função COUNTA. Quero armazená-lo na célula A2 da planilha chamada " Exemplo 1 ". Para fazer isso, precisamos usar o método Sheets.Range no VBA. Veja a seguinte captura de tela para sua referência:

Código:

 Sub Exemplo_1 () Folhas ("Exemplo 1"). Intervalo ("A2") End Sub 

Este trecho de código seleciona a célula A2 como um intervalo da planilha chamada Exemplo 1.

Etapa 4: use um operador de atribuição para que possamos atribuir o valor à célula que será acessada através do código acima. Adicione o objeto chamado WorksheetFunction para que possamos acessar a função COUNTA sob ele.

Código:

 Sub Example_1 () Folhas ("Exemplo 1"). Range ("A2") = PlanilhaFunção End Sub 

Etapa 5: Coloque um ponto (.) Após o objeto especificado e você verá uma lista de funções disponíveis para uso sob ele. Selecione COUNTA na lista de várias funções disponíveis, que permite contar as células ou valores não vazios.

Etapa 6: especifique os argumentos manualmente na função COUNTA. Os argumentos são: "Rajnish", "# N / A", 1, "*", True. Tentamos trazer todos os tipos de dados como argumento para essa função.

Código:

 Sub Example_1 () Folhas ("Exemplo 1"). Range ("A2") = WorksheetFunction.CountA ("Rajnish", "# N / A", 1, "*", True) End Sub 

Etapa 7: execute esse trecho de código pressionando F5 ou o botão Executar e veja a saída na célula A2 da planilha " Exemplo 1 " na pasta de trabalho ativa.

Nesse código, queremos que o sistema conte os argumentos de entrada e armazene a contagem na célula A2 da planilha Exemplo 1.

Exemplo # 2 - VBA COUNTA para contar células não vazias em um determinado intervalo

Suponha que eu tenha dados em toda a coluna A e precise contar quais são as linhas não vazias na coluna inteira. Como a coluna inteira consiste em mais de 10 linhas de Lac, é um processo ideal para mim navegar e contar cada célula não vazia. Veja a captura de tela parcial dos dados abaixo.

Siga os passos abaixo:

Etapa 1: defina um novo subprocedimento que possa conter sua macro.

Código:

 Sub Example_2 () End Sub 

Etapa 2: defina duas novas variáveis ​​neste subprocedimento como um intervalo usando Dim . Uma variável será útil para manter o intervalo da coluna do argumento de entrada e outras variáveis ​​serão úteis para manter a célula onde queremos a saída como um número contado.

Código:

 Sub Example_2 () Dim rng_1 Como intervalo Dim op_cell Como Intervalo Fim Sub 

Aqui, rng_1 armazenará a faixa de entrada para a função COUNTA. A saída do COUNTA será armazenada na variável op_cell .

Etapa 3: Agora, defina o intervalo para ambas as variáveis ​​usando a propriedade VBA Set. Isso deve ser feito porque não podemos atribuir diretamente um valor a uma variável definida como um objeto de intervalo.

Código:

 Sub Example_2 () Dim rng_1 como intervalo Dim op_cell Como intervalo definido rng_1 = intervalo ("A: A") Defina op_cell = intervalo ("B1") End Sub 

Aqui, a variável rng_1 foi definida para o intervalo da coluna inteira denominada A. op_cell é definido para a célula B1, pois seria a célula que contém a saída do COUNTA.

Etapa 4: Agora, use o operador de atribuição geral na variável op_cell, para que possamos armazenar a saída na célula que está definida para essa variável. Isso pode ser considerado como uma inicialização de saída.

Código:

 Sub Example_2 () Dim rng_1 como intervalo Dim op_cell Como intervalo definido rng_1 = Intervalo ("A: A") Defina op_cell = intervalo ("B1") op_cell = End Sub 

Etapa 5: Use o objeto WorksheetFunction no lado direito do operador de atribuição (seria uma expressão que será avaliada e o valor será armazenado no conjunto de células para a variável op_cell) para inicializar a classe na qual podemos acessar e usar Função COUNTA.

Código:

 Sub Example_2 () Dim rng_1 como intervalo Dim op_cell Como intervalo definido rng_1 = Intervalo ("A: A") Defina op_cell = intervalo ("B1") op_cell = PlanilhaFunção End Sub 

Etapa 6: Assim que você pressionar ponto (.) Após o objeto WorksheetFunction, poderá acessar todas as funções disponíveis nessa classe. Navegue em direção à função COUNTA e clique duas vezes nela para selecionar.

Etapa 7: Use a variável rng_1 como argumento de entrada em COUNTA. Portanto, essa função na classe de objeto de função de planilha pode contar as células não vazias presentes em toda a coluna A.

Código:

 Sub Example_2 () Dim rng_1 como intervalo Dim op_cell como intervalo definido rng_1 = intervalo ("A: A") Defina op_cell = intervalo ("B1") op_cell = WorksheetFunction.CountA (rng_1) End Sub 

Etapa 8: execute esse código pressionando o botão F5 ou Executar e você poderá ver a saída conforme mostrado abaixo na célula B1 de uma planilha ativa da pasta de trabalho.

Na célula B1, podemos ver um número como 17. O que significa que temos 17 células não vazias presentes na coluna A da planilha. Você pode não estar vendo todos os 17 através desta captura de tela, pois é parcial. É melhor você ver a planilha e navegar pela coluna A.

Coisas para lembrar

  • Você pode usar a função VBA COUNTA quando precisar contar o número de células não vazias presentes no intervalo especificado.
  • O COUNTA considera todos os valores como números, seqüências de caracteres, valores de erro, booleanos, texto vazio (“”). No entanto, ele não considera a célula que está vazia.
  • As células vazias não serão contadas usando a função COUNTA e serão ignoradas.
  • Você pode usar argumentos manualmente na função VBA COUNTA e ainda funciona.

Artigos recomendados

Este é um guia para a função VBA COUNTA. Aqui discutimos como usar a função COUNTA no Excel VBA, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Como criar um objeto de coleção no VBA?
  2. Como contar caracteres no Excel?
  3. FileCopy no VBA (exemplos com modelo do Excel)
  4. Contar células com texto no Excel | Modelo do Excel

Categoria: