Cancellare contenuto in alcune celle



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