Macro per eliminare righe sotto
Hai un problema con Excel? 
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
Vuoi Approfondire?