Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Ordinamento alfabetico senza celle vuote

Ultimo Aggiornamento: 07/02/2020 13:27
Post: 1
Registrato il: 06/02/2020
Età: 62
Utente Junior
excel 2013
OFFLINE
06/02/2020 17:26

Ciao a tutti,
ho il seguente quesito da porre dopo svariate ricerche improduttive.
Il file che allego verrà caricato di dati come inseriti in esempio.
i dati non necessariamente saranno sequenziali e quindi i fogli riepilogativi conterranno spazi bianchi.
il mio intento sarebbe quello di avere due liste, una ordinata per "Punto di Raccolta" la seconda in "Ordine Alfabetico", dove però non compaiono le celle vuote o meglio senza un valore reale.
C'è qualcuno che riesce ad aiutarmi.
Grazie attendo fiducioso.
Post: 776
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Senior
Excel2019
OFFLINE
07/02/2020 09:46

Ciao
Prova con questa macro (per l'ordinamento alfabetico)
 
Sub Ord_Alfa_tre()
ur = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To ur
If Cells(i, 7) = "" Then Cells(i, 9) = "z" Else Cells(i, 9) = Cells(i, 7)
Next i
Range("A2:I" & ur).Sort Key1:=Range("I2"), Order1:=xlAscending, _
Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom, DataOption1:=xlSortNormal
Range("I:I").ClearContents
End Sub


In altre parole crea un falso elenco in colonna I (senza formule) e mette in ordine l'intervallo A2:I & ur e poi cancella quanto scritto in col.I

Ciao,
Mario
[Modificato da Marius44 07/02/2020 09:47]
Post: 1
Registrato il: 06/02/2020
Età: 62
Utente Junior
excel 2013
OFFLINE
07/02/2020 11:02

Ciao Mario,
grazie della pronta risposta.
Funziona perfettamente, vorrei chiederti per l'altro foglio "Punto di Raccolta" ho modificato opportunamente il tuo codice e qui riesco ad ordinare per punto di raccolta, ma volendo avere in ordine alfabetico anche i nomi dei passeggeri mantenendo come primo ordine sempre il punto di raccolta, cosa devo aggiungere.

Grazie ancora se vorrai aiutarmi ancora.
Buona giornata.
Post: 2
Registrato il: 06/02/2020
Età: 62
Utente Junior
excel 2013
OFFLINE
07/02/2020 11:13

Ultima cosa vorrei che i due fogli fossero bloccati onde evitare che per errore vengano modificate le formule.
E' possibile?
Post: 777
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Senior
Excel2019
OFFLINE
07/02/2020 12:28

Ciao
per la prima richiesta usa quest'altra macro (è l'implementazione della prima)
Sub Ord_Alfa_Racc_quater()
ur = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To ur
  If Cells(i, 7) = "" Then Cells(i, 9) = "zz" Else Cells(i, 9) = Cells(i, 7)
  If Cells(i, 8) = "" Then Cells(i, 10) = "zz" Else Cells(i, 10) = Cells(i, 8)
Next i
Range("A2:J" & ur).Sort Key1:=Range("J2"), Order1:=xlAscending, _
Key2:=Range("I2"), Order1:=xlAscending, Header:=xlNo, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Range("I:J").ClearContents
End Sub


Assegnala ad un pulsante.

Per la seconda richiesta la cosa non è così semplice come la fai tu. Funzionerebbe solo se il foglio è protetto.
Ma attenzione! Per far funzionare le macro occorrerebbe "sproteggere" e "ri-proteggere" il Foglio.

Ciao,
Mario
Post: 3
Registrato il: 06/02/2020
Età: 62
Utente Junior
excel 2013
OFFLINE
07/02/2020 13:27

Grazie mille funziona tutto a meraviglia.
Per la protezione, effettivamente io parto con il foglio protetto.
Quindi non metto la password di protezione e alla tua macro ho aggiunto
'ActiveSheet.Unprotect' all'inizio e alla fine 'ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True', così facendo si ordina e poi torna sotto protezione.

😀😀
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 21:14. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com