Agregue solo valores positivos distintos con VBA

Tabla de contenido

En caso de que se esté preguntando cómo puede agregar solo valores positivos y únicos, este artículo es para usted.

En este artículo, aprenderá cómo agregar solo valores positivos distintos en Excel usando código VBA.

Pregunta): Quiero que una macro sume todos los números positivos distintos en un rango específico que incluye números negativos y positivos.

A continuación se muestra la instantánea de los datos que tenemos:

Necesitamos seguir los pasos a continuación:

  • Haga clic en la pestaña Desarrollador
  • Desde el grupo de código, seleccione Visual Basic

Ingrese el siguiente código en el módulo estándar: -

Función AddUnique (ByRef inputrange As Range, _

Opcional IgnoreText As Boolean = True, _

Opcional IgnoreError As Boolean = True, _

Opcional IgnoreNegativenumbers As Boolean = True)

Atenuar números distintos como doble

Atenuar celda como rango

Dim dict como objeto

Establecer dict = CreateObject ("Scripting.dictionary")

números distintos = 0

Para cada celda en inputrange.Resize (inputrange.Rows.Count, 1)

cval = celda.Value

Si IgnoreText entonces

Si no (VBA.IsNumeric (cval)) Entonces cval = 0

Demás

AddUnique = CVErr (0)

Función de salida

Terminara si

Si IgnoreError entonces

Si IsError (cval) Entonces cval = 0

Demás

AddUnique = CVErr (1)

Función de salida

Terminara si

Si ignora los números negativos, entonces

Si cval <0 Entonces cval = 0

Demás

AddUnique = CVErr (2)

Función de salida

Terminara si

Si no dict.Exists (cval) Entonces

dict.Añadir cval, cval

números distintos = números distintos + cval

Terminara si

próximo

AddUnique = números distintos

Función final

  • En la celda C2 la fórmula sería
  • = Agregar Único (A2: A6)

  • Para comprobar si el código ignora el valor repetido o no; cambiemos el valor en la celda A1 a 50 y veamos el resultado.

De esta manera podemos agregar distintos valores positivos a través del código de macro.

Descargar archivo de muestra-xlsm

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave