Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel]Confrontare colonne e unire in 1

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]Confrontare colonne e unire in 1

Postdi blackjack71 » 21/08/09 18:57

Ciao a Tutti,
Vengo al problema io Ho dati in colonna A e B vorrei confrontarli e creare in C una lista senza doppi
esempio
A: pippo, pluto
B: paperino, pippo
in
C: pippo, pluto,paperino

tenendo conto che le colonne A e B ricevano nuovi dati C si deve aggiornare
blackjack71
Newbie
 
Post: 2
Iscritto il: 21/08/09 18:47

Sponsor
 

Re: [Excel]Confrontare colonne e unire in 1

Postdi Flash30005 » 22/08/09 19:17

Prova questa macro
Codice: Seleziona tutto
Sub copia()
UR = Range("A" & Rows.Count).End(xlUp).Row
For RR = 1 To UR
    Range("A" & RR).Select
    Selection.Copy
    Range("H" & RR).Select
    ActiveSheet.Paste
    Range("H" & RR).Select
    Application.CutCopyMode = False
    Selection.TextToColumns Destination:=Range("H" & RR), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
    Range("B" & RR).Select
    Selection.Copy
    Range("J" & RR).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Selection.TextToColumns Destination:=Range("J" & RR), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True


For CC1 = 8 To 10
testo1 = Trim(Cells(RR, CC1).Value)
For CC2 = CC1 + 1 To 11
testo2 = Trim(Cells(RR, CC2).Value)
If testo1 = testo2 Then Cells(RR, CC2).Value = ""
Next CC2
Next CC1
Cells(RR, 3).Value = Trim(Cells(RR, 8).Value) & ", " & Trim(Cells(RR, 9).Value) & ", " & Trim(Cells(RR, 10).Value) & ", " & Trim(Cells(RR, 11).Value)
Cells(RR, 3).Value = Trim(Cells(RR, 3).Value)
LS = Len(Cells(RR, 3).Value)
If Mid(Cells(RR, 3).Value, LS, 1) = "," Then Cells(RR, 3).Value = Mid(Cells(RR, 3).Value, 1, LS - 1)
Cells(RR, 3).Value = Replace(Cells(RR, 3).Value, ", , ", ", ")
    Range("H" & RR & ":K" & RR).Select
    Selection.ClearContents
    Range("C1").Select
Next RR

End Sub

Tieni presente che occupo momentaneamente le colonne H, I, J, K quindi spero che tu non abbia dati su queste colonne in quanto poi vengono cancellati i valori.
La macro potrebbe attivarsi automaticamente al variare dei valori in A o B (codice da fare)

Fai sapere
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel]Confrontare colonne e unire in 1

Postdi Anthony47 » 22/08/09 23:50

Se invece lo vuoi fare con formule:
-i tuoi dati sono in Col A, ad es. da A2 a A40, e in col B da B2 a B40
-in C2 metti questa formula
Codice: Seleziona tutto
=SE(INDICE($A$2:$A$40;CONFRONTA(1;--(CONTA.SE($C$1:$C1;$A$2:$A$40)=0);0))=0;INDICE($B$2:$B$40;CONFRONTA(1;--(CONTA.SE($C$1:$C1;$B$2:$B$40)=0);0));INDICE($A$2:$A$40;CONFRONTA(1;--(CONTA.SE($C$1:$C1;$A$2:$A$40)=0);0)))

che confermerai con Contr-Maiusc-Enter, NON col solo Enter. Poi copia verso il basso fin quanto serve.
Due prerequisiti: le aree A2:A40 e B2:B40 non devono essere completamente piene di dati, deve esserci e rimanere sempre almeno 1 riga vuota in coda. In C1 metterai una intestazione che deve essere diversa da uno dei possibili valori di Col A e B (o lasci vuota). Se non puoi garantire le formule si complicano un pochino.

Ciao, fai sapere.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel]Confrontare colonne e unire in 1

Postdi blackjack71 » 26/08/09 13:53

Grazie Antony,
Ho risolto con un altro codice che se vi interessa vi posto
Grazie comunque testerò il tuo codice e farò sapere se avese funzionato
Grazie
Fabio
blackjack71
Newbie
 
Post: 2
Iscritto il: 21/08/09 18:47

Re: [Excel]Confrontare colonne e unire in 1

Postdi Flash30005 » 26/08/09 16:24

blackjack71 ha scritto:Grazie Antony,
Ho risolto con un altro codice che se vi interessa vi posto
...


Si, può interessare sicuramente ad altri utenti,
personalmente, invece, vorrei sapere se hai provato la macro del mio post precedente perché se anche mi avesse portato via un solo minuto (così non è stato) per realizzarla è stato sempre un minuto che ti ho dedicato.

Grazie
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "[Excel]Confrontare colonne e unire in 1":


Chi c’è in linea

Visitano il forum: Nessuno e 20 ospiti