| | 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.
😀😀 |
|
|