Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Excel: filtrare dati confrontando con piu' valori

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: filtrare dati confrontando con piu' valori

Postdi valle1975 » 24/05/11 10:32

Ciao.
Ho la seguente necessità: devo poter filtrare i dati che contengono nella colonna "A" del Foglio1 , uno dei valori contenuti in una lista secondaria (Foglio2-Colonna A), composta da piu' valori. Provo a spiegarmi meglio.
Ho una tabella (foglio1) complessiva delle movimentazioni di un Magazzino con il riferimento dell'articolo, formattato come segue "codice/nomearticolo/tipo".
Poi ho un secondo foglio (Foglio2) dove ho elencati gli articoli di cui devo analizzare le movimentazioni ( sono alcune decine e cambiano sempre), ma che hanno formattazione con solo "codice".
Sarebbe sufficiente che per gli articoli presenti nel Foglio 2, mi aggiungesse un identificativo (Es. "SI" in una colonna del foglio1), cosi' dopo potrei filtrarli facilmente e elaborarli come necessario.

Grazie per il vs. aiuto.
Valerio
---------------------------------
Win Xp + MS Office 2010 Ita
valle1975
Utente Senior
 
Post: 196
Iscritto il: 27/09/10 16:33

Sponsor
 

Re: Excel: filtrare dati confrontando con piu' valori

Postdi Avatar3 » 24/05/11 10:47

Per avere un "SI" nella colonna D del foglio1 degli articoli elencati nel Foglio2 puoi usare questa macro
Codice: Seleziona tutto
Sub TrovaArt()
 UR1 = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
 UR2 = Worksheets("Foglio2").Range("A" & Rows.Count).End(xlUp).Row
 Sheets("Foglio1").Columns("D:D").ClearContents
 For RR2 = 2 To UR2
    Art2 = Worksheets("Foglio2").Range("A" & RR2).Value
    For RR1 = 2 To UR1
        Art1 = Worksheets("Foglio1").Range("A" & RR1).Value
        If Art2 = Art1 Then
            Worksheets("Foglio1").Range("D" & RR1).Value = "SI"
            GoTo Continua
        End If
    Next RR1
Continua:
 Next RR2
End Sub


Però, se occorre, si può creare una macro che riporti il nome articolo e il tipo nel foglio2 a fianco di ogni codice articolo del foglio2, in questo caso non hai alcun bisogno di filtrare nulla
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Excel: filtrare dati confrontando con piu' valori

Postdi valle1975 » 24/05/11 13:40

Grazie per la tempestiva risposta, c'è un problema dovuto alla diversa composizione delle 2 colonne da controllare, come avevo indicato..
Infatti la tua macro cosi' come è non funziona, mentre se imposto nell'insieme Foglio2 il codice articolo scritto nello stesso modo, funziona.
Per cui come posso correggerlo??
Ti metto un esempio:
L'articolo nel foglio1 è tipo questo : KBSWKG/221/E
Mentre nel foglio2 è : KBSWVG
Come vedi la prima parte è identica (quella del codice), per cui, qualunque valore ci sia dopo questo codice, deve scrivere il "Si".
Spero di essere stato piu' chiaro, grazie.

Ho una tabella (foglio1) complessiva delle movimentazioni di un Magazzino con il riferimento dell'articolo, formattato come segue "codice/nomearticolo/tipo".
Poi ho un secondo foglio (Foglio2) dove ho elencati gli articoli di cui devo analizzare le movimentazioni ( sono alcune decine e cambiano sempre), ma che hanno formattazione con solo "codice".[/quote]
Valerio
---------------------------------
Win Xp + MS Office 2010 Ita
valle1975
Utente Senior
 
Post: 196
Iscritto il: 27/09/10 16:33

Re: Excel: filtrare dati confrontando con piu' valori

Postdi ricky53 » 24/05/11 13:56

Ciao,
prova a sostituire
Codice: Seleziona tutto
        If Art2 = Art1 Then


con
Codice: Seleziona tutto
        If Art2 = Mid(Art1, 1, Len(Art2)) Then



ATTENZIONE: ho ipotizzato che il codice articolo scritto nel "Foglio12 abbia lunghezza maggiore o uguale a quella del codice articolo del "Foglio2" !!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel: filtrare dati confrontando con piu' valori

Postdi valle1975 » 24/05/11 14:11

Semplicemente Perfetto!!!
Mille Grazie.. :)
Valerio
---------------------------------
Win Xp + MS Office 2010 Ita
valle1975
Utente Senior
 
Post: 196
Iscritto il: 27/09/10 16:33

Re: Excel: filtrare dati confrontando con piu' valori

Postdi ricky53 » 24/05/11 15:29

Ciao,
il primo ringraziamento ad Avatar che ti ha proposto la macro, poi ... a me il secondo per l'implementazione.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel: filtrare dati confrontando con piu' valori

Postdi valle1975 » 24/05/11 16:12

Giusto il ringraziamento ad entrambi per la disponibilità !!
Saluti.
Valerio
---------------------------------
Win Xp + MS Office 2010 Ita
valle1975
Utente Senior
 
Post: 196
Iscritto il: 27/09/10 16:33

Re: Excel: filtrare dati confrontando con piu' valori

Postdi valle1975 » 13/06/11 15:59

Salve, ho trovato una anomalia alla soluzione proposta, cioè nel caso si ripresentino piu' volte articoli esistenti da evidenziare con il "SI" sul foglio2, nella COLONNA "D" dove vengono riportati i "SI", mi viene riportato solo la prima volta che trovano la stessa corrispondenza e non ogni volta che tale corrispondenza è presente.
Ad esempio in foglio 2 ho la seguente situazione, considerando che "pippo" e "tom" siano gli articoli da evidenziare:

Foglio 1

Pippo, SI
pluto
Pippo
pippo
tom, SI
pluto
Tom

Grazie per tutto.
Valerio
---------------------------------
Win Xp + MS Office 2010 Ita
valle1975
Utente Senior
 
Post: 196
Iscritto il: 27/09/10 16:33

Re: Excel: filtrare dati confrontando con piu' valori

Postdi Avatar3 » 13/06/11 16:49

Ehmmm

Prova a commentare il Goto Continua
Codice: Seleziona tutto
            Worksheets("Foglio1").Range("D" & RR1).Value = "SI"
           ' GoTo Continua  '<<<< commentare o cancellare
        End If
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Excel: filtrare dati confrontando con piu' valori

Postdi valle1975 » 13/06/11 17:05

Ok, perfetto.. risolto anche questo..
Mille grazie.
Valerio
---------------------------------
Win Xp + MS Office 2010 Ita
valle1975
Utente Senior
 
Post: 196
Iscritto il: 27/09/10 16:33

Re: Excel: filtrare dati confrontando con piu' valori

Postdi Avatar3 » 13/06/11 17:29

:)
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04


Torna a Applicazioni Office Windows


Topic correlati a "Excel: filtrare dati confrontando con piu' valori":


Chi c’è in linea

Visitano il forum: patel e 11 ospiti