how to put a loop in a macro?

K

Khoshravan

I have a macro as follows:
Sub Macro2()
ActiveCell.Offset(-1, 0).Range("A1").Select
Selection.Hyperlinks.Delete
Selection.Cut
ActiveCell.Offset(-1, 1).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Rows("1:2").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Offset(2, 0).Range("A1").Select
End Sub

It selects the above cell. Remove the hyperlink, moves it to top-right
cell, selects two rows and delete them and sits in the two rows below
same cell as started and ready to do this task again. I have many lins
to do this task and if I want to repeat the macro for each loop it
takes long long time. I want Macro to do all for me.
I want to put this Macro in a loop to do these tasks as long as there
is a row below and stops when it reaches the last row.
How can I make the loop in this macro?
TIA, Rasoul Khoshravan
 
D

Don Guillett

if your layout is as shown this macro will do
data
hyperlink
data
hyperlink

I didn't know which column so I used the active column
Sub macro2b()'works
ac = ActiveCell.Column
lr = Cells(Rows.Count, ac).End(xlUp).Row
For i = lr To 2 Step -2
Cells(i - 1, ac + 1).Value = Cells(i, ac)
Rows(i).Delete
Next i
End Sub
 
G

Guest

A second option would be to assign the macro a short cut key (I like control
"q") and add

SendKeys ("^q")

to the end of the query. It will keep running until you hit pause/break.
 
K

Khoshravan

Thanks for you reply but I am a beginner in MAcro so I almost couldn't
understand what does your Macro do. I copy paste it my Excel work book
but it didn't produce my requested results.
 
D

Don Guillett

You did not say what the problem is. I said, IF your layout is as shown, it
will work. What is your layout? Send me a workbook (to email below) and I
will take a look.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top