Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Ricerca dato con più criteri

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

Ricerca dato con più criteri

Postdi dipic » 02/12/09 16:26

Salve a tutti,
come inserito nel titolo ho il seguente problema:
Dal Range A1 - L10 devo trovare il dato in Lx cercando da 3 combinazioni:
1) lettera (in colonna A)
2) numero (in colonna B)
3) numero (in colonna C)
- nella colonna A ho una serie di lettere che possono anche ripetersi
- nella colonna B ho una serie di numeri che possono ripetersi
- nella colonna C ho una serie di numeri che possono ripetersi
non esistono 2 risultati uguali nella cartella se confronto le celle A/B/C della stessa riga;
devo trovare il dato in colonna L.

spero di essere stato chiaro
grazie per qualsiasi suggerimento
Avatar utente
dipic
Utente Junior
 
Post: 95
Iscritto il: 13/09/08 14:57
Località: Cormòns (I)

Sponsor
 

Re: Ricerca dato con più criteri

Postdi Anthony47 » 02/12/09 18:56

Perdona: No, non credo che sei stato chiaro.
In paricolare, all' inizio sembrava (mi sembrava) che volessi cercare le righe che hanno valori in A-B-C pari a quelli che imposti; poi dici che " non esistono 2 risultati uguali nella cartella se confronto le celle A/B/C della stessa riga" (la frase di per se' e' superflua, perche' in una "stessa riga" non ci puo' essere altro che una sola combinazione A-B-C), ne' e' chiaro se in Lx vuoi il risultato (fermo restando che non capisco quale) o c' e' un dato da usare per la ricerca.

Quindi prova a descrivere piu' dettagliatamente.

Ciao, ti aspettiamo.
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: Ricerca dato con più criteri

Postdi Flash30005 » 03/12/09 01:03

:undecided: Ma sì! Ci provo!

Inserisci questa macro in un modulo e avviala
Codice: Seleziona tutto
Sub CercaUni()
    Range("A1:L10").Interior.ColorIndex = xlNone
For RL = 1 To 10
        StrL = Range("L" & RL).Value
    For RA = 1 To 10
    Col = RL + RA
            StrA = Range("A" & RA).Value & Range("B" & RA).Value & Range("C" & RA).Value
            If StrA = StrL Then
            Range("A" & RA & ":C" & RA).Interior.ColorIndex = Col
            Range("L" & RL).Interior.ColorIndex = Col
            End If
    Next RA
Next RL
End Sub

Spero solo che nella colonna L ci siano i dati della cella ABC senza spazi o altro
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: Ricerca dato con più criteri

Postdi dipic » 03/12/09 11:02

Grazie per il tuo interessamento Flash,
con alcune modifiche funziona ... speravo di riuscire a farlo con formule, senza dover per forza creare una macro ...
questo solo perchè in caso di spostamento campi devo rivedere tutta la macro.
Se nessuno ha idea di come poter fare con formule, considero chiuso il post.
Grazie ancora
Avatar utente
dipic
Utente Junior
 
Post: 95
Iscritto il: 13/09/08 14:57
Località: Cormòns (I)

Re: Ricerca dato con più criteri

Postdi Flash30005 » 03/12/09 11:24

Le macro le puoi attivare con pulsanti o altro ma per i più "pigri" :lol:
esiste anche un'automazione che le attiva al solo variare delle celle interessate
come ad esempio questo codice
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
CheckArea = "L1:L10,A1:C10"
If Not Application.Intersect(ActiveCell, Range(CheckArea)) Is Nothing Then
Call CercaUni
End If
End Sub

da inserire nel foglio dei dati sessione vba (non nel modulo)
Puoi variare il CheckArea, così impostato attiva la macro al variare (modifica) di qualsiasi cella compresa nelle aree da A1 a C10 o da L1 a L10
se ti interessa limitare solo alle celle dell'area L1:L10 metterai
Codice: Seleziona tutto
CheckArea = "L1:L10"


Ciao

P.s. Per spostamento campi cosa intendi?
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: Ricerca dato con più criteri

Postdi dipic » 03/12/09 12:48

intendo l'inserimento di eventuali righe o colonne

grazie
Avatar utente
dipic
Utente Junior
 
Post: 95
Iscritto il: 13/09/08 14:57
Località: Cormòns (I)

Re: Ricerca dato con più criteri

Postdi Flash30005 » 03/12/09 14:44

Non sarebbe nemmeno questo un problema però quando si parla di macro (programmazione) si devono conoscere tutte le possibili varianti che possono modificare il progetto iniziale es. se le righe non sono un numero fisso (10) si può inserire un codice per conteggiarle di volta in volta,
il problema potrebbe nascere nelle colonne ma se si spostano solo es. al posto di A,B,C e L avremo B,C,D e M è facilmente risolvibile ma più difficile (non impossibile) sarebbe se divenissero A,C,E e L.
Insomma la soluzione si trova solo dopo un'attenta analisi di cosa si vuole ottenere entrando nei minimi particolari di ogni possibile situazione che può verificarsi perché un programma pur facendo perfettamente e velocemente tutto ciò per il quale è stato progettato non si "adatta" a variazioni se non previste nella/le sua/e routine.

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: Ricerca dato con più criteri

Postdi Flash30005 » 03/12/09 16:43

Aggiungo al post precedente che potresti provare con la formattazione condizionale se ti è congeniale
nella cella A1 inserisci (da Formato>Formattazione Condizionale) La formula è :
Codice: Seleziona tutto
=SE(VAL.ERRORE(CERCA.VERT(A1&B1&C1;L$1:L$10;1;FALSO));"";SE(CERCA.VERT(A1&B1&C1;L$1:L$10;1;FALSO)>1;1;0))=1

stessa cosa per B1 e C1 poi selezioni le celle A:C1 copi il formato e selezioni le celle da A2:C2 e trascini fino a C10

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 "Ricerca dato con più criteri":


Chi c’è in linea

Visitano il forum: alfrimpa e 20 ospiti