Lägg bara till distinkta positiva värden med VBA

Innehållsförteckning

Om du undrar hur du bara kan lägga till positiva och unika värden så är den här artikeln något för dig.

I den här artikeln lär du dig att lägga till endast distinkta positiva värden i excel med VBA -kod.

Fråga): Jag vill att ett makro summerar alla distinkta positiva tal i ett specifikt intervall som innehåller negativa och positiva tal.

Följande är ögonblicksbilden av data vi har:

Vi måste följa stegen nedan:

  • Klicka på fliken Utvecklare
  • Välj Visual Basic i kodgruppen

Ange följande kod i standardmodulen:-

Funktion AddUnique (ByRef inmatningsområde som intervall, _

Valfritt IgnoreText som booleskt = sant, _

Valfritt IgnoreError As Boolean = True, _

Valfritt Ignorera Negativenumbers As Boolean = True)

Dimma olika nummer som dubbel

Dim cell As Range

Dim dict Som objekt

Set dict = CreateObject ("Scripting.dictionary")

distinkta nummer = 0

För varje cell I inputrange.Resize (inputrange.Rows.Count, 1)

cval = cell.Värde

Om IgnoreText Då

Om inte (VBA.IsNumeric (cval)) Då cval = 0

Annan

AddUnique = CVErr (0)

Avsluta funktion

Avsluta om

Om IgnoreError Då

Om IsError (cval) Då är cval = 0

Annan

AddUnique = CVErr (1)

Avsluta funktion

Avsluta om

Om IgnoreNegativenumbers Then

Om cval <0 Då cval = 0

Annan

AddUnique = CVErr (2)

Avsluta funktion

Avsluta om

If Not dict.Exists (cval) Då

lägg till cval, cval

distinkta nummer = distinkta nummer + cval

Avsluta om

Nästa

AddUnique = distinkta nummer

Avsluta funktion

  • I cell C2 skulle formeln vara
  • = AddUnique (A2: A6)

  • För att kontrollera om koden ignorerar upprepat värde eller inte; låt oss ändra värdet i cell A1 till 50 och se resultatet.

På detta sätt kan vi lägga till distinkta positiva värden genom makrokod.

Ladda ner-Exempelfil-xlsm

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave