Voeg alleen verschillende positieve waarden toe met VBA

Inhoudsopgave

Als je je afvraagt ​​hoe je alleen positieve en unieke waarden kunt toevoegen, dan is dit artikel iets voor jou.

In dit artikel leert u hoe u alleen duidelijke positieve waarden in Excel kunt toevoegen met VBA-code.

Vraag): Ik wil dat een macro alle afzonderlijke positieve getallen optelt in een bepaald bereik, inclusief negatieve en positieve getallen.

Hieronder volgt een momentopname van de gegevens die we hebben:

We moeten de onderstaande stappen volgen:

  • Klik op het tabblad Ontwikkelaar
  • Selecteer in de codegroep Visual Basic

Voer de volgende code in de standaardmodule in:-

Functie AddUnique(ByRef inputrange As Range, _

Optioneel IgnoreText As Boolean = True, _

Optioneel IgnoreError As Boolean = True, _

Optioneel Negeer negatieve getallen als Boolean = True)

Dim verschillende nummers als dubbel

Dim cel als bereik

Dim dictaat als object

Set dict = CreateObject("Scripting.dictionary")

onderscheidengetallen = 0

Voor elke cel In inputrange.Resize(inputrange.Rows.Count, 1)

cval = cel.Waarde

Als Tekst Negeren Dan

Zo niet (VBA.IsNumeric(cval)) Dan is cval = 0

Anders

Voeg Uniek toe = CVErr(0)

Functie verlaten

Stop als

Als NegeerFout Dan

Als IsError(cval) Dan is cval = 0

Anders

AddUnique = CVErr(1)

Functie verlaten

Stop als

Als Negatieve getallen negeren, dan

Als cval < 0 Dan is cval = 0

Anders

Voeg Uniek toe = CVErr(2)

Functie verlaten

Stop als

Indien niet dict.Bestaat(cval) Dan

dict.Cval toevoegen, cval

onderscheidengetallen = onderscheidengetallen + cval

Stop als

Volgende

AddUnique = verschillende nummers

Functie beëindigen

  • In cel C2 zou de formule zijn:
  • =ToevoegenUniek(A2:A6)

  • Om te controleren of code herhaalde waarde negeert of niet; laten we de waarde in cel A1 wijzigen in 50 en het resultaat bekijken.

Op deze manier kunnen we duidelijke positieve waarden toevoegen via macrocode.

Download-voorbeeldbestand-xlsm

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave