Adăugați numai valori pozitive distincte cu VBA

Anonim

În cazul în care vă întrebați cum puteți adăuga numai valori pozitive și unice, atunci acest articol este pentru dvs.

În acest articol, veți afla cum să adăugați numai valori pozitive distincte în Excel folosind codul VBA.

Întrebare): Vreau ca o macrocomandă să adune toate numerele pozitive distincte într-un interval specificat, care să includă numere negative și pozitive.

Urmează instantaneul datelor pe care le avem:

Trebuie să urmăm pașii de mai jos:

  • Faceți clic pe fila Dezvoltator
  • Din grupul de coduri, selectați Visual Basic

Introduceți următorul cod în modulul standard: -

Funcție AddUnique (ByRef inputrange As Range, _

Opțional IgnoreText Ca boolean = Adevărat, _

Opțional IgnoreError Ca boolean = Adevărat, _

Opțional IgnoreNegativenumbers As Boolean = True)

Reduceți numerele distincte ca duble

Dim celula ca interval

Dim dictează ca obiect

Setați dict = CreateObject ("Scripting.dictionary")

numere distincte = 0

Pentru fiecare celulă din inputrange.Resize (inputrange.Rows.Count, 1)

cval = cell.Value

Dacă ignorați textul, atunci

Dacă nu (VBA.IsNumeric (cval)), atunci cval = 0

Altfel

AddUnique = CVErr (0)

Funcția de ieșire

End If

Dacă IgnoreError atunci

Dacă IsError (cval), atunci cval = 0

Altfel

AddUnique = CVErr (1)

Funcția de ieșire

End If

Dacă ignorați numerele negative atunci

Dacă cval <0, atunci cval = 0

Altfel

AddUnique = CVErr (2)

Funcția de ieșire

End If

If Not dict.Exists (cval) Atunci

dict.Add add cval, cval

distinctnumbers = distinctnumbers + cval

End If

Următorul

AddUnique = numere distincte

Funcția de sfârșit

  • În celula C2 formula ar fi
  • = AddUnique (A2: A6)

  • Pentru a verifica dacă codul ignoră sau nu valoarea repetată; să schimbăm valoarea din celula A1 la 50 și să vedem rezultatul.

În acest fel putem adăuga valori pozitive distincte prin codul macro.

Descărcare-fișier eșantion-xlsm