Non interpreto che la richiesta sia di filtrare per tx1 e tx2 presente in qualsiasi colonna dell' intervallo dati, se non altro perche' il filtro standard non lo fa e il problema posto parte dal limite di Excel <2007 che gestisce solo max 1000 valori diversi.
Rilevo comunque che ho
sbagliato la posizione della formula proposta, che
va in xy10 e
non in xy2 ("xy" e' la colonna libera a piacere), e che mi sembra corretta la proposta di w&g se effettivamente si vuole filtrare per tx1 e tx2 presente in qualsiasi colonna A:G.
Ricordo comunque che quello che che va in crisi e' l' elencazione dei valori nel menu' a tendina del filtro (che cioe' si ferma dopo aver elencato i primi 1000 valori diversi); ma quello che l' utente chiede puo' essere fatto solo con "Personalizza il filtro", che non va in crisi ne' con 1000 ne' con 10mila valori.
Quindi una ulteriore possibilita' e' l' uso di questa macro:
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
AreaFiltro = "A10:A5000" '<<L' area che sara' filtrata
Key11 = "$A$1" '<<La cella con la prima chiave
Key22 = "$A$2" '<< e quella con la seconda
'
If Target.Address <> Key11 And Target.Address <> Key22 Then Exit Sub
'
Cri1 = "*" & Range(Key11).Value & "*"
Cri2 = "*" & Range(Key22).Value & "*"
Range(AreaFiltro).AutoFilter Field:=1, Criteria1:=Cri1, Operator:=xlAnd, _
Criteria2:=Cri2
Target.Select
End Sub
Da excel, tasto dx sul tab col nome del foglio su cui si vuole operare; scegli Visualizza codice per aprire l' editor delle macro alla pagina giusta; copia il codice e incollalo nel frame di dx.
Personalizza le istruzioni marcate <<; poi torna sul foglio excel e prova a inserire una chiave nelle celle dichiarate: ad ogni variazione di chiave l' area dati sara' filtrata di conseguenza.
Ci sono numerosi casi analoghi in archivio; es
viewtopic.php?f=26&t=88262viewtopic.php?f=26&t=84789viewtopic.php?f=26&t=85162OVVIAMENTE se si vuole filtrare per chiave presente in una qualsiasi di piu' colonne bisogna prima procedere al concatenamento delle colonne interessate e poi modificare la dichiarazione di AreaFiltro; es
- Codice: Seleziona tutto
AreaFiltro = "M10:M5000"
Ciao a tutti.