ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   how can i create a macro (https://www.excelbanter.com/excel-programming/374241-how-can-i-create-macro.html)

andresg1975

how can i create a macro
 
how can i create a macro that in column "D", look for first cell with a
value, go down until blank cell, delete three rows down, and continue the
same procedure.

lets say:

column D

row 5 100
row 6 200
row 7 blank
row 8 500
row 9 blank
row 10 400
row 11 80
row 12 blank
row 13 90
row 14 blank
row 15 100
row 16 300

result should be:

column D

row 5 100
row 6 200
row 400
row 80
row 100
row 300

thanks a lot

Sandy

how can i create a macro
 
Not sure what your trying to do but I was able to replicate your example

Sandy

Sub TripleDelete()
Dim MyRange As Range, MyCells As Object, i As Integer
Set MyRange = [D:D]
For Each MyCells In MyRange
If MyCells.Value = Empty Then
Range(MyCells.Address, _
MyCells.Offset(2, 0).Address).EntireRow.Delete
End If
Next MyCells
End Sub

"andresg1975" wrote:

how can i create a macro that in column "D", look for first cell with a
value, go down until blank cell, delete three rows down, and continue the
same procedure.

lets say:

column D

row 5 100
row 6 200
row 7 blank
row 8 500
row 9 blank
row 10 400
row 11 80
row 12 blank
row 13 90
row 14 blank
row 15 100
row 16 300

result should be:

column D

row 5 100
row 6 200
row 400
row 80
row 100
row 300

thanks a lot


Pops Jackson

how can i create a macro
 
This should accomplish your purpose.

Sub test()

Range("D5").activate
Do
If Activecell = "" then
Range(Activecell, Activecell.Offset(2,0)).select
Selection.EntireRow.Delete shift:=xlUp
else
Activecell.Offset(1,0).Activate
end if
Loop until (whatever conditions you wish to set)
End Sub

--
Pops Jackson


"andresg1975" wrote:

how can i create a macro that in column "D", look for first cell with a
value, go down until blank cell, delete three rows down, and continue the
same procedure.

lets say:

column D

row 5 100
row 6 200
row 7 blank
row 8 500
row 9 blank
row 10 400
row 11 80
row 12 blank
row 13 90
row 14 blank
row 15 100
row 16 300

result should be:

column D

row 5 100
row 6 200
row 400
row 80
row 100
row 300

thanks a lot


andresg1975

how can i create a macro
 
I want to loop until there is no more cells with values
how can i do that, thanks a lot

"Pops Jackson" wrote:

This should accomplish your purpose.

Sub test()

Range("D5").activate
Do
If Activecell = "" then
Range(Activecell, Activecell.Offset(2,0)).select
Selection.EntireRow.Delete shift:=xlUp
else
Activecell.Offset(1,0).Activate
end if
Loop until (whatever conditions you wish to set)
End Sub

--
Pops Jackson


"andresg1975" wrote:

how can i create a macro that in column "D", look for first cell with a
value, go down until blank cell, delete three rows down, and continue the
same procedure.

lets say:

column D

row 5 100
row 6 200
row 7 blank
row 8 500
row 9 blank
row 10 400
row 11 80
row 12 blank
row 13 90
row 14 blank
row 15 100
row 16 300

result should be:

column D

row 5 100
row 6 200
row 400
row 80
row 100
row 300

thanks a lot



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

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