Nel caso ti stia chiedendo come aggiungere solo valori positivi e univoci, questo articolo fa per te.
In questo articolo imparerai come aggiungere solo valori positivi distinti in Excel usando il codice VBA.
Domanda): Voglio una macro per sommare tutti i numeri positivi distinti in un intervallo specificato che include numeri negativi e positivi.
Di seguito è riportato lo snapshot dei dati in nostro possesso:
Dobbiamo seguire i passaggi seguenti:
- Fare clic sulla scheda Sviluppatore
- Dal gruppo Codice seleziona Visual Basic
Inserisci il seguente codice nel modulo standard:-
Funzione AddUnique(ByRef inputrange As Range, _
Facoltativo IgnoreText As Boolean = True, _
Facoltativo IgnoreError As Boolean = True, _
Facoltativo IgnoreNegativenumbers As Boolean = True)
Dim distinti numeri come doppi
Cella debole come intervallo
Dim dict come oggetto
Imposta dict = CreateObject ("Scripting.dictionary")
numeri distinti = 0
Per ogni cella in inputrange.Resize(inputrange.Rows.Count, 1)
cval = cella.Valore
Se IgnoraTesto Allora
If Not (VBA.IsNumeric(cval)) Allora cval = 0
Altro
AggiungiUnique = CVErr(0)
Esci dalla funzione
Finisci se
Se IgnoraErrore Allora
Se IsError(cval) Allora cval = 0
Altro
AggiungiUnique = CVErr(1)
Esci dalla funzione
Finisci se
Se Ignora i numeri negativi allora
Se cval < 0 Allora cval = 0
Altro
AggiungiUnique = CVErr(2)
Esci dalla funzione
Finisci se
If Not dict.Exists(cval) Then
dict.Aggiungi cval, cval
numeri distinti = numeri distinti + cval
Finisci se
Prossimo
AddUnique = numeri distinti
Fine funzione
- Nella cella C2 la formula sarebbe
- =AggiungiUnico(A2:A6)
- Per verificare se il codice ignora o meno il valore ripetuto; cambiamo il valore nella cella A1 in 50 e vediamo il risultato.
In questo modo possiamo aggiungere valori positivi distinti tramite il codice macro.
Scarica file di esempio-xlsm