È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Stampa | Notifica email    
Autore

Elimina doppioni

Ultimo Aggiornamento: 22/05/2017 22:02
Post: 28
Registrato il: 08/02/2016
Città: REGGIO CALABRIA
Età: 46
Utente Junior
97-2003
OFFLINE
19/05/2017 17:16

Buongiorno.

Avrei un lavoro da portare avanti ma ho riscontrato qualche problema. Premetto che ho provato ad allegare il file, ma in questo momento ho dei problemi tecnici che non mi permettono di farlo.

Provo a spiegare.

Nella colonna A e nella colonna C ho una serie di codici. Mi serve un risultato, nella colonna P, che mi riporti i codici presenti nella colonna C che non sono già presenti nella colonna A.

Ma ciò, con la Macro che ho costruito, non accade.


Sub rimuovi_doppioni()
Dim i As Integer
Dim cella, trova As Range
i = 8
For Each cella In Range("c8:c100")
Set trova = Range("n8:n100").Find(What:=cella, LookAt:=xlPart)
If trova Is Nothing Then
Range("p" & i) = cella
i = i + 1
End If
Next cella
End Sub




Potete aiutarmi?

Grazie, Nigel.
Post: 3.213
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
20/05/2017 15:04

Nigel se vuoi aiuto un file di esempio con dati (fittizi), spiegazione e risultato desiderato inserito a mano lo devi allegare.

Alfredo
Post: 28
Registrato il: 08/02/2016
Città: REGGIO CALABRIA
Età: 46
Utente Junior
97-2003
OFFLINE
22/05/2017 10:21

Ecco, ce l'ho fatta.
Il risultato nella colonna P deve essere 127 e 132.
Post: 3.218
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
22/05/2017 11:44

Ma nella colonna A non c'è né il 127 né il 132.

Non capisco.

Alfredo
Post: 29
Registrato il: 08/02/2016
Città: REGGIO CALABRIA
Età: 46
Utente Junior
97-2003
OFFLINE
22/05/2017 12:30

Infatti: mi serve un risultato, nella colonna P, che mi riporti i codici presenti nella colonna C che non sono già presenti nella colonna A.
Post: 3.221
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
22/05/2017 12:41

Ah ok.

Alfredo
Post: 3.224
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
22/05/2017 14:31

Ciao Nigel

Ti riallego il tuo file nel quale ho inserito la macro che vedi qui.

vb
Sub prova()
Dim ur As Long
Dim lr As Long
Dim rng As Range
Dim cel As Range
Dim intervallo As Range
lr = Cells(Rows.Count, "C").End(xlUp).Row
Set intervallo = Range("c8:c" & lr)
For Each cel In intervallo
ur = Cells(Rows.Count, "P").End(xlUp).Row
With Sheets("Foglio1").Range("A:A")
            Set rng = .Find(What:=cel.Value, _
                            After:=.Cells(.Cells.Count), _
                            LookIn:=xlValues, _
                            LookAt:=xlWhole, _
                            SearchOrder:=xlByRows, _
                            SearchDirection:=xlNext, _
                            MatchCase:=False)
            If Not rng Is Nothing Then
                Else
            Cells(ur + 1, "P").Value = cel.Value
            End If
        End With
Next cel
End Sub


Importante: per il corretto funzionamento del tutto è necessario che la cella P7 sia valorizzata (mettici una X e poi dai il colore bainco al carattere in modo da renderla invisibile; se invece c'è qualcosa lascia tutto com'è.

Fai sapere.

P.S. la prossima vota posta nella sezione "Domande e risposte".

Alfredo
Post: 96
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Junior
2016
OFFLINE
22/05/2017 22:02

Buonasera a tutti oltre alla sempre ottima soluzione in VBA di Alfredo (un saluto) il risultato richiesto si può ottenere anche con le formule in P8

=SE.ERRORE(INDICE($C$8:$C$1000;PICCOLO(SE($C$8:$C$1000<>"";SE(CONTA.SE($A$8:$A$1000;$C$8:$C$1000)=0;RIF.RIGA($C$8:$C$1000)-RIF.RIGA($C$8)+1));RIGHE($P$7:P7)));"")

da attivare con i tasti CTRL+SHIFT+INVIO e trascinare in basso

ho messo 1000 ma si può allungare o accorciare a piacere
[Modificato da DANILOFIORINI 22/05/2017 22:02]
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 15:28. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com