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
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
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.
Avatar utente
Anthony47
Moderatore
 
Post: 19221
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
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
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: papiriof e 41 ospiti