Macro per eliminare righe sotto



  • Macro per eliminare righe sotto
    di marnevi (utente non iscritto) data: 22/10/2015 08:58:23

    Salve ragazzi. Come posso modificare la seguente macro in modo tale che essa funzioni solo per le righe che si trovano al disotto della riga numero 5? Grazie in anticipo...
     
    Sub EliminaRighe()
    With Selection
    .EntireRow.Delete
    End With
    End Sub



  • di Mister_x (utente non iscritto) data: 22/10/2015 09:39:36

    ciao

    basta aggiungere

    Rows("6:20").Select
    io ho messo fino alla 20 il numero modificalo tu a piacimento


    ciao
     
    Sub EliminaRighe()
    Rows("6:20").Select
    With Selection
    .EntireRow.Delete
    End With
    End Sub
    






  • di marnevi (utente non iscritto) data: 22/10/2015 09:56:49

    grazie per la risposta. Così facendo, è vero che si escludono dalla macro tutte le righe che si trovano al disopra della n. 5, purtroppo però, mi elimina tutte le righe che si trovano al disotto della riga la cui cella è selezionata.
    Invece io avrei bisogno che la macro mi elimini solo le righe (al disotto della n. 5), allorquando una cella qualsiasi della riga da eliminare è selezionata, lasciando intatte le restanti...
    non so se sono stato chiaro...!!!



  • di BS (utente non iscritto) data: 22/10/2015 11:33:31

    ciao
    anche io ho avuto la necessità di eliminare righe partendo da una cella selezionata della riga stessa
    prova con questo
    una volta eliminata la riga io mi allineo alla prima cella della colonna "A"
    spero che possa essere il tuo caso
     
    Sub Elimina_Riga()
    
        y = ActiveCell.Row
        Rows(y).Select
        Selection.Delete Shift:=xlUp
        Selection.End(xlToLeft).Select
        
    End Sub



  • di Mister_x (utente non iscritto) data: 22/10/2015 11:33:32

    ciao

    quindi tu vorresti eliminare una sola riga alla volta purche sia maggiore della riga 5

    ess tu selezioni una cella alla riga 7 e lanci la sub() questa ti elimina tutta la riga 7

    ciao
     
    Sub EliminaRighe()
    Dim Nriga As Long
    Nriga = ActiveCell.Row
    If Nriga > 5 Then Rows(Nriga & ":" & Nriga).Delete
    End Sub
    
    






  • di marnevi (utente non iscritto) data: 22/10/2015 11:43:21

    grazie MisterX la tua è la soluzione che cercavo... grazie mille!!



  • di mb data: 22/10/2015 12:12:59

    buongiorno

    qualche guru di vba mi può dire se va bene lo stesso quanto scritto ed eventualmente spiegarmi dove ho sbagliato

    così volevo togliere il lancio automatico della sub

    grazie

     
    Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Nriga As Long
    Nriga = ActiveCell.Row
    If Nriga > 5 Then Rows(Nriga & ":" & Nriga).Delete
    End Sub
    



  • di marnevi (utente non iscritto) data: 22/10/2015 12:54:22

    funziona... Grande.
    Ma se volessi limitare il doubleclick alla sola prima cella di ogni singola riga? Come si dovrebbe fare?



  • di BS (utente non iscritto) data: 22/10/2015 13:11:32

    con questo si abilita il doppio clik solo sulle celle della colonna "A"
    vedi tu che colonna preferisci avere l'abilitazione
     
    Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
    Dim Nriga As Long
    Nriga = ActiveCell.Row
    If Nriga > 5 Then Rows(Nriga & ":" & Nriga).Delete
    End Sub
    



  • di Mister_x (utente non iscritto) data: 22/10/2015 13:14:24

    riciao

    controllo alla colonna

    ciao
     
    Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Nriga As Long, Ncol As Long
    Nriga = ActiveCell.Row
    Ncol = ActiveCell.Column
    If Nriga > 5 And Ncol = 1 Then Rows(Nriga & ":" & Nriga).Delete
    End Sub
    






  • di mb data: 22/10/2015 13:56:24

    Scusate ancora una cosa
    MisterX o BS

    mi sapete dire cosa è necessario scrivere alla fine della sub double click, perché rimane il cursore in standby pronto per l'inserimento di una nuova informazione ??


    spero di avere reso l'idea sul problema

    Grazie




  • di BS (utente non iscritto) data: 22/10/2015 14:31:30

    ciao mb
    spero di avere capito bene: intendi come uscire dalla modalità di modifica cella?
    se così fosse
    prova aggiungere prima di End Sub questa stringa

    Application.SendKeys "{ESC}"



  • di mb data: 22/10/2015 14:39:38

    grazie 10000000000000

    BS è proprio quello che desideravo

    buon pomeriggio