Pridėkite tik ryškias teigiamas vertes naudodami VBA

Anonim

Jei jums įdomu, kaip galite pridėti tik teigiamų ir unikalių verčių, šis straipsnis skirtas jums.

Šiame straipsnyje sužinosite, kaip „Excel“ pridėti tik aiškias teigiamas vertes naudojant VBA kodą.

Klausimas): Noriu, kad makrokomanda susumuotų visus skirtingus teigiamus skaičius nurodytame diapazone, įskaitant neigiamus ir teigiamus skaičius.

Toliau pateikiamas mūsų turimų duomenų momentinis vaizdas:

Turime atlikti šiuos veiksmus:

  • Spustelėkite skirtuką Kūrėjas
  • Iš kodų grupės pasirinkite „Visual Basic“

Į standartinį modulį įveskite šį kodą:-

Funkcija AddUnique (ByRef įvesties diapazonas, _

Neprivaloma „IgnoreText As Boolean“ = tiesa, _

Neprivaloma IgnoreError as Boolean = Tiesa, _

Neprivaloma Ignoruoti neigiamus skaičius kaip loginis = tiesa)

Skirkite skirtingus numerius kaip dvigubus

Šviesos langelis kaip diapazonas

Dim dict As Object

Nustatyti dict = CreateObject ("Scripting.dictionary")

skirtingi skaičiai = 0

Kiekvienam langeliui Inputrange.Resize (inputrange.Rows.Count, 1)

cval = ląstelė. Vertė

Jei IgnoreText Tada

Jei ne (VBA.IsNumeric (cval)), tada cval = 0

Kitas

AddUnique = CVErr (0)

Išėjimo funkcija

Pabaiga Jei

Jei IgnoreError Tada

Jei IsError (cval), tada cval = 0

Kitas

AddUnique = CVErr (1)

Išėjimo funkcija

Pabaiga Jei

Jei ignoruoti neigiamus skaičius, tada

Jei cval <0, tada cval = 0

Kitas

AddUnique = CVErr (2)

Išėjimo funkcija

Pabaiga Jei

Jei ne dikt. Egzistuoja (cval) Tada

dict. Pridėti cval, cval

skirtingi skaičiai = skirtingi skaičiai + cval

Pabaiga Jei

Kitas

AddUnique = skirtingi skaičiai

Pabaigos funkcija

  • C2 langelyje formulė būtų
  • = AddUnique (A2: A6)

  • Norėdami patikrinti, ar kodas nepaiso pakartotinės vertės, ar ne; pakeiskime langelio A1 reikšmę į 50 ir pamatysime rezultatą.

Tokiu būdu per makro kodą galime pridėti aiškių teigiamų verčių.

Atsisiųsti pavyzdinį failą xlsm