Link to home
Start Free TrialLog in
Avatar of esu4236
esu4236Flag for United States of America

asked on

Repeat an Excel macro multiple times

I have the following macro in an Excel 2010 worksheet.  I need to repeat it about 25,000 times.  I know there's a loop feature that can be used, but I don't know enough about Visual Basic to get it to work.  And everything I find online is GREEK to me.  Can someone help me with the correct coding to get this done?  It would be greatly appreciated.  Thanks so much!!!!

Sub Move_Text3()
'
' Move_Text3 Macro
'

'
    ActiveCell.Range("A1:G1").Select
    Selection.Cut
    ActiveCell.Offset(-1, 8).Range("A1").Select
    ActiveSheet.Paste
    ActiveCell.Offset(3, -8).Range("A1").Select
End Sub
Avatar of Martin Liss
Martin Liss
Flag of United States of America image

Dim lngCount As Long

For lngCount = 1 to 25000

'Macro code

Loop
Avatar of esu4236

ASKER

I got a compile error:  Loop without Do.   ????????????  Here's the code now:

Sub Move_Text3()
'
' Move_Text3 Macro
'

'
Dim lngCount As Long

For lngCount = 1 To 5

    ActiveCell.Range("A1:G1").Select
    Selection.Cut
    ActiveCell.Offset(-1, 8).Range("A1").Select
    ActiveSheet.Paste
    ActiveCell.Offset(3, -8).Range("A1").Select
Loop

End Sub
ASKER CERTIFIED SOLUTION
Avatar of Martin Liss
Martin Liss
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
What do you expect to have happen if you run that code more than once?
Avatar of esu4236

ASKER

I want it to go through and highlight some cells and then move them to the appropriate row.   There are lots of rows that need this done.
As written, a loop would cause this code will move seven cells from every other row up one row (from where it started) and over eight cells.

For example, looping through that code three times would have this effect:
User generated imageIf that's truly what you need then adding the For loop (ending it with Next) as suggested by @MartinLiss will work.

If that's not what you need then describe what you're hoping to have happen.
Avatar of esu4236

ASKER

Worked like a charm!!!!!!!!!  Thanks so much!!  I am amazed at how people know Visual Basic.  Wish I knew it much better than I do.  Thanks again.  Happy New Year!!!!!!!!!!!!
@esu4236, the best way to learn VBA is to keep using it. Also, read the questions and answers on this site and you will learn a ton about interesting ways that other people are using it. I've learned a lot reading answers from other experts.
Glad I was able to help.

Marty - MVP 2009 to 2012