• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 419
  • Last Modified:

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
0
esu4236
Asked:
esu4236
  • 4
  • 3
  • 2
1 Solution
 
Martin LissRetired ProgrammerCommented:
Dim lngCount As Long

For lngCount = 1 to 25000

'Macro code

Loop
0
 
esu4236Author Commented:
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
0
 
Martin LissRetired ProgrammerCommented:
I'm sorry, it's 'Next' not 'Loop'.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
Martin LissRetired ProgrammerCommented:
What do you expect to have happen if you run that code more than once?
0
 
esu4236Author Commented:
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.
0
 
tdlewisCommented:
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:
loop three timesIf 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.
0
 
esu4236Author Commented:
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!!!!!!!!!!!!
0
 
tdlewisCommented:
@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.
0
 
Martin LissRetired ProgrammerCommented:
Glad I was able to help.

Marty - MVP 2009 to 2012
0

Featured Post

[Webinar] Cloud and Mobile-First Strategy

Maybe you’ve fully adopted the cloud since the beginning. Or maybe you started with on-prem resources but are pursuing a “cloud and mobile first” strategy. Getting to that end state has its challenges. Discover how to build out a 100% cloud and mobile IT strategy in this webinar.

  • 4
  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now