Adicione apenas valores positivos distintos com VBA

Índice

Caso você esteja se perguntando como pode adicionar apenas valores positivos e únicos, este artigo é para você.

Neste artigo, você aprenderá como adicionar apenas valores positivos distintos no Excel usando o código VBA.

Pergunta): Eu quero uma macro para somar todos os números positivos distintos em um intervalo especificado que inclui números negativos e positivos.

A seguir está o instantâneo dos dados que temos:

Precisamos seguir as etapas abaixo:

  • Clique na guia Desenvolvedor
  • No grupo Código, selecione Visual Basic

Insira o seguinte código no módulo padrão: -

Função AddUnique (ByRef inputrange As Range, _

Opcional IgnoreText As Boolean = True, _

Opcional IgnoreError As Boolean = True, _

Opcional IgnoreNegativenumbers As Boolean = True)

Dim Disttnumbers As Double

Dim cell como range

Dim dict como objeto

Definir dict = CreateObject ("Scripting.dictionary")

distintos números = 0

Para cada célula em inputrange.Resize (inputrange.Rows.Count, 1)

cval = cell.Value

Se IgnoreText Then

Se não (VBA.IsNumeric (cval)) Então cval = 0

Outro

AddUnique = CVErr (0)

Função de saída

Fim se

If IgnoreError Then

If IsError (cval) Then cval = 0

Outro

AddUnique = CVErr (1)

Função de saída

Fim se

Se ignorar números negativos, então

Se cval <0, então cval = 0

Outro

AddUnique = CVErr (2)

Função de saída

Fim se

If Not dict.Exists (cval) Then

dict.Add cval, cval

distintos números = distintos números + cval

Fim se

Próximo

AddUnique = disttnumbers

Função Final

  • Na célula C2, a fórmula seria
  • = AddUnique (A2: A6)

  • Para verificar se o código ignora o valor repetido ou não; vamos alterar o valor na célula A1 para 50 e ver o resultado.

Desta forma, podemos adicionar valores positivos distintos por meio do código de macro.

Download-Sample File-xlsm

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave