Cancellare contenuto in alcune celle
Hai un problema con Excel? 
Cancellare contenuto in alcune celle
di Gia (utente non iscritto) data: 05/05/2017 18:47:33
Ciao a tutti,
chiedo una cosa magari per voi esperti facilissima.
Il mio campo d'azione è dalla cella A6:B102 dove incollo automaticamente dei dati provenienti da un altro foglio.
Se ordino le celle occupate dal testo (colonna A) e numeri (colonna B) mi appare solo la possibilità di ardinare da A a Z e mi porta o tutto in alto partendo dalla riga 6 o tutto in basso usando l'ultima riga la 102.
Chiedo se esiste un codice VBA per excel per selezionare delle celle partendo da un punto qualunque (esempio cella A9 ma potrebbe essere anche A11....), spostarmi verso destra di una cella (B9...., B11....) e selezionare le celle fino alla riga 102. Con questa selezione attiva usare il comando cancella contenuto così poi posso ordinare correttamente i numeri mantenedo la riga 6 come punto di partenza.
Spero di essere stato chiaro...almeno ci ho provato...
Grazie e buona serata.
di ges data: 05/05/2017 20:49:48
Ciao,
non mi è molto chiaro, allega un file facendoci capire cosa vuoi ottenere.
di Gia (utente non iscritto) data: 05/05/2017 22:21:49
Ciao,
ho allegato un file per cercare di essere più chiaro.
Grazie ancora...
di ges data: 05/05/2017 23:18:41
Scusa, forse tutti quei passaggi che dici non servono.
Secondo me quando chiedi di ordinare la colonna B dopo che hai incollato i tuoi valori ti indica come ordine "A-Z" perché li vede come testo.
Prima di usare il tuo metodo prova a formattare la colonna B come "Generale".
Comunque, se ti interessa il codice:
Sub ordina()
Dim sh As Worksheet
Dim uRow As Long
Set sh = Worksheets("Foglio1")
With sh
uRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Range("A" & uRow & ":B100").ClearContents
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range("B6:B" & uRow - 1), Order:=xlAscending
With ActiveWorkbook.Worksheets("Foglio1").Sort
.SetRange Range("A5:B" & uRow - 1)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
Set sh = Nothing
End Sub
|
Prova
di Gia (utente non iscritto) data: 06/05/2017 09:23:28
Buongiorno di ges,
ho provato i tuoi suggerimenti ma ancora non funziona.
Ti ho lasciato in allegato una parte del file che dovrei sistemare. Puoi vedere che l'ordine in base alla colonna B non funziona dal più grande al più piccolo.
Puoi vedere se si riesce a fare qualche cosa?
Grazie e buona giornata.
di ges data: 06/05/2017 12:04:33
Secondo il tuo ultimo esempio, ora che vedo com'è strutturato il foglio, dovrebbe andarti bene questa routine:
Sub ordina()
Dim sh As Worksheet
Dim uR As Long
Dim y As Integer
Set sh = Worksheets(1)
For y = 1 To 8 Step 3
uR = 6
While Cells(uR, y) <> ""
uR = uR + 1
Wend
With sh
.Range(Cells(uR, y), Cells(uR, y + 1)).ClearContents
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range(Cells(6, y + 1), Cells(uR, y + 1)), Order:=xlDescending
With sh.Sort
.SetRange Range(Cells(5, y), Cells(uR, y + 1))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
Next y
sh.Cells(1, 1).Select
Set sh = Nothing
End Sub |
Prova
di gia (utente non iscritto) data: 07/05/2017 22:23:19
Buona sera di ges,
grazie per la tua disponibilità.
Proverò domani sera il codice e ti farò sapere.
buona notte e grazie.
di Gia (utente non iscritto) data: 12/05/2017 22:44:39
Buona sera ges,
ho provato solo ora il tuo ultimo codice VBA.
Ho llegato il file con il punto dove si ferma...
Dove sto sbagliando nel lanciare il codice?
Grazie e buona serata.
di ges data: 12/05/2017 23:37:18
Se alleghi un file word con immagine non posso certo capire cosa succede con excel.
Nel primo file che hai allegato funziona!
di gia (utente non iscritto) data: 17/05/2017 23:19:04
Buonasera ges,
il fle word era per evidenziare la riga dove si fermava il codice.
Chiedevo per questo dove sbagliavo perchè riportando il codice nel file excel originale si blocca nella riga gialla che puoi vedere nel file word.
Comunque grazie e ora provo di nuovo e cerco di capire dove sbaglio.
Grazie ancora e buona serata.
Vuoi Approfondire?