RISOLTO VBA Excel selezione righe

Stato
Discussione chiusa ad ulteriori risposte.

walnut

Nuovo Utente
23
0
CPU
Pentium Dual core
OS
Linux Lubuntu
Ciao a tutti, ho una tabella con circa 1000 righe e 15 colonne. Nella colonna "A" ho dei nomi, nella colonna "E" ho delle date. Dato che molti nomi si ripetono, ed ad cella della colonna "E" corrisponde ad un evento cronologico, quello che vorrei realizzare è una tabella che riporta solamente la riga corrispondente all'ultimo evento in ordine cronologico per quella persona, tralasciando tutte le altre righe.
Per uno che VBA lo mastica è una fesseria, ma per me che sono agli inizi sta diventando un' impresa.
Chi sa , parli ! anzi scriva! ciao e grazie
 

BAT

Moderatore
Staff Forum
Utente Èlite
22,948
11,581
CPU
1-Neurone
Dissipatore
Ventaglio
RAM
Scarsa
Net
Segnali di fumo
OS
Windows 10000 BUG
Ordina (con la funzione Excel) la tabella per nome e per data
per ciascun nome (eventualmente ripetuto) l'ultimo evento cronologico è l'ultima riga che corrisponde al nome
su una nuova colonna scrivi una formula con un test simile a questo:
=SE(A2=A3;"doppio";"ultimo")
supponendo che il tuo foglio abbia il primo nome in A2, il test A2=A3 ritorna vero/falso se nella cella sottostante c'è lo stesso nome;
se è vero scrive "doppio" altrimenti scrive "ultimo", per esempio
Codice:
Nome----Data---------Test  (prima riga del foglio)
Antonio..............doppio (perché dopo c'è un'altra riga con Antonio)
Antonio..............doppio
Antonio..............ultimo (perché è l'ultima occorrenza ed avendo ordinato è anche l'ultimo evento) cronologico)
Barbara.............ultimo
Carlo.................doppio
Carlo.................ultimo
edit: dimenticavo: ovviamente la formula va ricopiata con un doppio click su tutte le celle successive (gli indici si aggiustano in modo automatico)
a questo punto metti un filtro sulla colonna dei test, filtra per "ultimo" e hai tutte le righe che ti servono
 
Ultima modifica:

walnut

Nuovo Utente
23
0
CPU
Pentium Dual core
OS
Linux Lubuntu
grazie BAT una soluzione semplice ed efficace, senza andare a scomodare Lord VBA, anche se pero' la curiosità di come si possa realizzare rimane

mi e' sfuggito un fatto, come posso applicare un doppio filtro come suggerisce BAT, cioè se orino la colonna A in ordine alfabetico, non posso contemporaneamente ordinare la colonna E con un ordine cronologico perchè scompaginerebbe nuovamente la colonna A. Dovrei ordinare solamente le date che corrispondono a quel nome, cioè selezionandole a mano, ma sono piu di 1000 voci. Credo che l'uso di VBA sia la sola soluzione applicabile. Ho scaricato degli script che sto' cercando di modificare, ma non è semplice.
 
Ultima modifica da un moderatore:

BAT

Moderatore
Staff Forum
Utente Èlite
22,948
11,581
CPU
1-Neurone
Dissipatore
Ventaglio
RAM
Scarsa
Net
Segnali di fumo
OS
Windows 10000 BUG
No aspetta, non hai bisogno di script:
nella funzione di ordinamento Excel hai un'opzione che ti permette di effettuare l'ordine dando una priorità;
NON selezionare singolarmente una colonna, devi selezionare l'intera tabella facendo click sul quadratino (fuori dalle celle) in alto a sinistra della cella A1
(cioè il quadratino "vuoto" a sinistra di tutte le lettere delle colonne e al di sopra del numero 1 della prima riga: in questo modo selezioni in un solo colpo l'intero foglio di lavoro);
poi selezioni la funzione ordina per e gli dai come prima priorità il nome e come seconda priorità la data (mi pare si chiami "ordina per" e poi ti dà l'opzione "e poi per"); in tale modo le righe vengono preservate.
Sono sicuro al 100% che c'è l'opzione, l'ho usata al lavoro 1000 volte;
a casa non ho Excel ma LibreOffice e la stessa funzione c'è anche qui, le opzioni in LibreOffice si chiamano "chiavi di ordinamento"
l'essenziale è che quando ordini selezioni l'intera tabella non una singola colonna
 
Ultima modifica:

walnut

Nuovo Utente
23
0
CPU
Pentium Dual core
OS
Linux Lubuntu
grazie mille ho risolto, in effetti stavo usando la funzione ordina della tabella, dove la funzione filtro multiplo non c'e, mentre in quella della ribbon si
 
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!