La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Buongiorno,
ho un elenco misto nomi/numeri/celle vuote sotto un filtro automatico, vorrei un modo per farmi restituire il nome/numero univoco che vado a filtrare (il filtro è singolo, non multiplo).
Allego file di esempio, dove se in colonna A filtro "Terni" (2 occorrenze), in cella E1 mi venga restituito "Terni", oppure se filtro "17" (1 occorrenza), in E1 mi venga restituito "17". Potrebbe essere filtrato anche un valore "vuoto" (2 occorrenze), che deve essere ugualmente estratto in E1 come valore vuoto.
Se proprio non ci si riesce con le formule, andrebbe bene anche con del codice.
Grazie per l'attenzione.
ciao
=SE(SOMMA(SUBTOTALE(3;SCARTO(A2;RIF.RIGA(A2:A1000)-RIF.RIGA(A2);0)))>0;INDICE(A2:A1000;MIN(SE(SUBTOTALE(3;SCARTO(A2;RIF.RIGA(A2:A1000)-RIF.RIGA(A2);0));RIF.RIGA(A2:A1000)-RIF.RIGA(A2)+1)));"")
non so se devi confermarla matriciali
CTRL MAIUSCOLO INVIO
@gianfranco55 Complimenti Gianfranco, matriciale funzione perfettamente
Complimenti Gianfranco, matriciale funzione perfettamente.
Se qualcun altro avesse soluzioni macro, sono ben accette
ciao
su un modulo
Sub FirstVisibleCell() With Worksheets("foglio1").AutoFilter.Range Cells(1, 5).Value = Range("a" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Value End With End Sub
decidi tu come lanciare la macro
PErfetto Gianfranco, veramente notevole, grazie per lo spunto.
Devo vedere come agganciare la macro alla selezione del filtro
ciao
non saprei cosa dirti
non me ne intendo di vba
penso tu debba metterla al ricalcolo
prova così
in B1 metti
=SUBTOTALE(3;A2:A22)
nel foglio 1 inserisci
Private Sub Worksheet_Calculate() Call FirstVisibleCell End Sub
in un modulo la macro che ti ho scritto
vedi che funziona.....al limite colora di bianco il carattere della cella B1
Grazie per lo spunto geniale, ma purtroppo nel foglio effettivo, essendoci altre celle con formule di calcolo, mi va in palla e dà errore di stack, credo servano altre istruzioni di protezione da loop
Strano che non esista un evento specifico dedicato alla selezione di un filtro
ok Gianfranco, sistemato il problema del ricalcolo ridondante a cascata, bisogna disabilitare gli eventi a inizio routine con:
Application.EnableEvents = False
e poi riabilitarli a fine routine con
Application.EnableEvents = True
grazie per il tempo dedicato e buona giornata
ciao
bene ora prova a inserire nel calculate
if not intersect target...............
vediamo di attivare la macro solo al ricalcolo della cella B1
ora provo anche io
se ci riesco te la inserisco
ciao
oh! niente al calculate sembra non volerlo ora faccio una ricerca e vediamo
se ne esco.
stiamo imparando il VBA i due 😆
si, infatti il Calculate non si puo' limitare a una cella.
Per quello ci vuole il Change, che però NON si innesca con il ricalcolo della cella B1, anche se varia il risultato in cella.
Si dovrebbe ricorrere a una casella di convalida dati che tramite evento Change della cella inneschi il filtro, ma il giro diventa troppo lungo e inutile
ciao
vero me lo sono fatto confermare