ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Double Delete (https://www.excelbanter.com/excel-programming/426411-double-delete.html)

TGalin

Double Delete
 
I have this macro

Dim myLastRow As Long
Dim r As Long
Dim c As Range
myLastRow = ActiveSheet.Cells(10000, 4).End(xlUp).Row
For r = myLastRow To 1 Step -1
Set c = ActiveSheet.Range("D" & r)
If c.Value = "Back" Then
c.EntireRow.Delete
End If
Next r

What can I add to this macro so that it in addition to deleting the entire
row if it finds "Back" in Column D, it also deletes the entire row above it?


muddan madhu

Double Delete
 
try this

Range(c, c.Offset(-1, 0)).EntireRow.Delete


On Apr 2, 8:40*pm, TGalin wrote:
I have this macro

Dim myLastRow As Long
Dim r As Long
Dim c As Range
myLastRow = ActiveSheet.Cells(10000, 4).End(xlUp).Row
For r = myLastRow To 1 Step -1
Set c = ActiveSheet.Range("D" & r)
If c.Value = "Back" Then
c.EntireRow.Delete
End If
Next r

What can I add to this macro so that it in addition to deleting the entire
row if it finds "Back" in Column D, it also deletes the entire row above it?



Rick Rothstein

Double Delete
 
Change this line...

c.EntireRow.Delete

to this...

c.Offset(-1).Resize(2).EntireRow.Delete

--
Rick (MVP - Excel)


"TGalin" wrote in message
...
I have this macro

Dim myLastRow As Long
Dim r As Long
Dim c As Range
myLastRow = ActiveSheet.Cells(10000, 4).End(xlUp).Row
For r = myLastRow To 1 Step -1
Set c = ActiveSheet.Range("D" & r)
If c.Value = "Back" Then
c.EntireRow.Delete
End If
Next r

What can I add to this macro so that it in addition to deleting the entire
row if it finds "Back" in Column D, it also deletes the entire row above
it?



TGalin

Double Delete
 
Thank you. It worked.

"muddan madhu" wrote:

try this

Range(c, c.Offset(-1, 0)).EntireRow.Delete


On Apr 2, 8:40 pm, TGalin wrote:
I have this macro

Dim myLastRow As Long
Dim r As Long
Dim c As Range
myLastRow = ActiveSheet.Cells(10000, 4).End(xlUp).Row
For r = myLastRow To 1 Step -1
Set c = ActiveSheet.Range("D" & r)
If c.Value = "Back" Then
c.EntireRow.Delete
End If
Next r

What can I add to this macro so that it in addition to deleting the entire
row if it finds "Back" in Column D, it also deletes the entire row above it?




TGalin

Double Delete
 
You were correct. I tested it. Thank you.

"Rick Rothstein" wrote:

Change this line...

c.EntireRow.Delete

to this...

c.Offset(-1).Resize(2).EntireRow.Delete

--
Rick (MVP - Excel)


"TGalin" wrote in message
...
I have this macro

Dim myLastRow As Long
Dim r As Long
Dim c As Range
myLastRow = ActiveSheet.Cells(10000, 4).End(xlUp).Row
For r = myLastRow To 1 Step -1
Set c = ActiveSheet.Range("D" & r)
If c.Value = "Back" Then
c.EntireRow.Delete
End If
Next r

What can I add to this macro so that it in addition to deleting the entire
row if it finds "Back" in Column D, it also deletes the entire row above
it?





All times are GMT +1. The time now is 04:28 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com