VBA COUNTIF

VBA COUNTIF

As funções baseadas em critérios são as governantes do Excel nos cálculos. No início da aprendizagem do excel, devemos ter aprendido a função COUTNIF no excel. Em nossos artigos anteriores, mostramos como trabalhar com a função CONT.SE no Excel VBA.

Consulte nosso artigo sobre Fórmula CONT.SE no Excel para saber os fundamentos da função CONT.SE no Excel VBA. Neste artigo, mostraremos como usar a mesma função na codificação VBA. Agora veremos a mesma fórmula no VBA. Em primeiro lugar, CONT.SE não é uma função VBA, mas sim uma função de planilha que pode ser acessada na classe de função de planilha.

Exemplo de função Countif do Excel VBA

Ok, vamos ver o exemplo simples.

Você pode baixar este modelo do Excel da função VBA Countif aqui - Modelo do Excel da função VBA Countif

Veja o mesmo exemplo abaixo de contagem de valores do lote.

Na imagem acima, temos nomes de cidades da célula A1 a A10. Na célula C3, precisamos contar quantas vezes o nome da cidade “Bangalore” que aparece no intervalo A1 a A10.

Ok, siga os passos abaixo para escrever o código para aplicar a função CONT.SE.

Etapa 1: iniciar o procedimento Sub.

Código:

 Option Explicit Sub Countif_Example1 () End Sub 

Passo 2: Como precisamos armazenar o resultado na célula C3, inicie o código como Range (“C3”). Value.

Código:

 Sub Countif_Example1 () Intervalo ("C3"). Value = End Sub 

Passo 3: Na célula C3, aplicando a função CONT.VBA do excel, estamos tentando chegar ao resultado. Portanto, para acessar a função, precisamos primeiro usar a classe Worksheet Function.

Código:

Sub Countif_Example1 () Intervalo ("C3"). Value = WorksheetFunction. End Sub

Passo 4: A partir da função lost Excel VBA COUNTIF.

Código:

 Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction.CountIf (End Sub 

Passo 5: Se você olhar os parâmetros da função VBA COUNTIF, não vemos o parâmetro como vemos na planilha.

Como podemos ver na imagem acima na planilha, temos uma sintaxe clara, mas no VBA podemos ver apenas Arg 1 e Arg 2.

Arg 1 é Intervalo, então selecione o intervalo de A1 a A10.

Código:

 Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction.CountIf (Range ("A1: A10"), End Sub 

Etapa 6: Arg 2 é o valor que precisamos contar do intervalo A1 a A10. Neste exemplo, precisamos contar “Bangalore”.

Código:

 Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction.CountIf (Range ("A1: A10"), "Bangalore") End Sub 

Ok, terminamos.

Execute o código para ver o resultado na célula C3.

Obtivemos o resultado como 4. Como o nome da cidade “Bangalore” que aparece na célula A1, A4, A7 e A10, a função VBA COUNTIF retornou o resultado como 4.

Se você pode ver que o código VBA retornou apenas o resultado da fórmula, não conseguimos ver a fórmula na barra de fórmulas.

Para chegar à fórmula, precisamos escrever o código de maneira um pouco diferente. Abaixo está o código para você aplicar a própria fórmula à célula.

Código:

 Sub Countif_Example1 () Range ("C3"). Formula = "= CountIf (A1: A10," "Bangalore" ")" End Sub 

Isso aplicará a fórmula à célula C3.

Resultado da chegada com variáveis

As variáveis ​​são parte integrante de qualquer linguagem de codificação. Precisamos declarar variáveis ​​para trabalhar de forma eficiente com o código VBA. Para obter um exemplo, veja o código abaixo.

Código:

 Sub Countif_Example2 () Dim ValuesRange como intervalo Dim ResultCell como intervalo Dim CriteriaValue As String Definir ValuesRange = Range ("A1: A10") Definir ResultCell = Range ("C3") CriteriaValue = "Bangalore" ResultCell = WorksheetFunction.CountIf (ValuesRange, CriteriaValue ) End Sub 

Deixe-me decodificar o código para você entender melhor.

Em primeiro lugar, declarei as duas variáveis ​​como Range.

Dim ValuesRange As Range: serve para fazer referência à lista de valores.

Dim ResultCell As Range: para fazer referência à célula de resultado.

Em seguida, defini o intervalo de referências para ambas as variáveis.

Definir ValuesRange = Range (“A1: A10”): Este é o intervalo onde estão todos os nomes de cidades.

Definir ResultCell = Range (“C3”): Nesta célula, armazenaremos o resultado da função CONT.SE.

Nesse ínterim, declarei mais uma variável para armazenar o valor dos critérios.

Dim CriteriaValue As String

CriteriaValue = “Bangalore”

Portanto, agora a variável “CriteteriaValue” contém o valor “Bangalore”.

Na próxima linha, como de costume, apliquei a função COUTNIF.

ResultCell = WorksheetFunction.CountIf (ValuesRange, CriteriaValue)

Assim, podemos aplicar a função CONT.SE no Excel VBA para atender às nossas necessidades.