Eliminare celle individuate tramite filtro



  • Eliminare celle individuate tramite filtro
    di marxitpa data: 12/01/2015 08:55:00

    Su un foglio excel devo eliminare alcune celle (colonne A-D) individuate tramite un filtro e spostare le celle seguenti in alto.
    ad esempio se seleziono le celle della riga 11:
    Range("A11:D11").Select
    Selection.Delete Shift:=xlUp

    Come fare quando seleziono le celle tramite filtro?



  • di Vecchio Frac data: 12/01/2015 11:24:12

    Io farei così.
    Chiaramente da aggiustare per quanto riguarda il range di applicazione.
     
    'l'esempio elimina le celle filtrate, che quindi sono visibili, in una tabella A1:B10
    range("a2:b10").specialcells(xlCellTypeVisible ).delete Shift:=xlUp 






  • di marxitpa data: 12/01/2015 18:44:48

    Grazie Vecchio Frac, ma non mi è chiaro come impostare il codice.



  • di Vecchio Frac data: 12/01/2015 19:03:44

    Perchè no?
    - Il range è quello dell'intera tabella, esclusa l'intestazione.
    - Specialcells è un metodo di un oggetto range.
    - xlCellTypeVisible è un parametro predefinito.
    - Delete è una proprietà di range.
    - Shift è una parametro del comando delete.

    Quindi l'unica cosa che devi impostare tu a mano è il range. Il resto non cambia.
    E lo esegui dopo aver filtrato i dati ovviamente :)