Condividi:        

Excel eliminare numeri doppi da matrice

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Excel eliminare numeri doppi da matrice

Postdi Francesco53 » 09/07/21 12:02

Buona giornata a tutto il forum, dovrei eliminare i numeri doppi da una matrice,
ho provato a realizzare la seguente macro, però sbaglio qualcosa.
Chiedo un aiuto per risolvere la difficoltà.
Questo è il codice che ho realizzato, ma non funziona.

Codice: Seleziona tutto
Sub ProvaNew() 'Eliminare numeri doppi
Dim VettN(6, 1) As Integer
Dim VettN2(6, 1) As Integer
caso = 0

VettN(1, 0) = 10
VettN(2, 0) = 23
VettN(3, 0) = 34
VettN(4, 0) = 45
VettN(5, 0) = 23
VettN(6, 0) = 15

    For rig1 = 1 To 6
        nn = VettN(rig1, 0)
            For rig2 = rig1 + 1 To 6
                If VettN(rig2, 0) = nn Then
                GoTo salta
                Else
                    VettN2(rig1, 0) = VettN(rig1, 0)
                End If
            Next rig2
salta:
    Next rig1
     For rig = 1 To 6
    Cells(rig, 4) = VettN2(rig, 0)
    Next rig
End Sub


Ringrazio chi può aiutarmi,
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Sponsor
 

Re: Excel eliminare numeri doppi da matrice

Postdi cromagno » 09/07/21 18:09

Ciao,
un metodo può essere questo:
Codice: Seleziona tutto
Sub ProvaNew() 'Eliminare numeri doppi
    Dim VettN(1 To 6) As Integer
    Dim VettN2() As Integer
    Dim rig1 As Integer, rig2 As Integer
    Dim nn As Integer
    Dim DblNumber As Boolean
   
    VettN(1) = 10
    VettN(2) = 23
    VettN(3) = 34
    VettN(4) = 45
    VettN(5) = 23
    VettN(6) = 15
   
    nn = 1
    ReDim VettN2(1 To nn)
    VettN2(1) = VettN(1)
   
    For rig1 = 2 To 6
        DblNumber = False
        For rig2 = 1 To nn
            If VettN(rig1) = VettN2(rig2) Then
                DblNumber = True
                Exit For
            End If
        Next rig2
       
        If DblNumber = False Then
            nn = nn + 1
            ReDim Preserve VettN2(1 To nn)
            VettN2(nn) = VettN(rig1)
        End If
    Next rig1
   
    Range("D1:D" & Rows.Count).ClearContents
    For rig1 = 1 To nn
        Cells(rig1, 4) = VettN2(rig1)
    Next rig1
End Sub
Windows 10 + Office 2013 64bit(ita)
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Avatar utente
cromagno
Utente Junior
 
Post: 66
Iscritto il: 08/10/16 16:33
Località: Sardegna

Re: Excel eliminare numeri doppi da matrice

Postdi Francesco53 » 09/07/21 18:27

Ciao cromagno, ho provato e funziona, adesso mi studierò il codice per capire meglio il funzionamento.
Grazie
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45


Torna a Applicazioni Office Windows


Topic correlati a "Excel eliminare numeri doppi da matrice":


Chi c’è in linea

Visitano il forum: Nessuno e 22 ospiti