Forum Discussion
Excel Loop problems
- May 19, 2020there will be a button to accept an answer as "Official Answer" or "Best Solution"
just click on that
As requested I have copied the macro, It works on first run but will not loop. I'm new to this, so it could be syntax. All help aprectiated.
Sub WhatIf()
'
Sub WhatIf()
'
' WhatIf Macro
'
'copy Wind data etc to Course
Range("E2:E8").Select
Selection.Copy
Sheets("Course").Select
Range("I2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'copy course to side cells
Range("H15:O54").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("WhatIF").Select
ActiveWindow.LargeScroll ToRight:=1
Range("AA2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.LargeScroll ToRight:=-1
'Copy First line to main panel (Loop)
Do
ActiveWindow.LargeScroll ToRight:=1
Range("AA2:AH2").Select
Selection.Copy
ActiveWindow.LargeScroll ToRight:=-1
Range("D13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Copy Buoy to top line of course and then Find Dist,Bearing,Time to What If Front panel
Range("D13:K13").Select
Selection.Copy
Sheets("Course").Select
Range("H13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Distance").Select
Range("E9").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("WhatIF").Select
Range("I13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Distance").Select
Range("E5").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("WhatIF").Select
Range("J13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Time").Select
Range("F9").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("WhatIF").Select
Range("K13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Copy Wind and Tide info to "calcs" and TWA to "360"
Range("E2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Calcs").Select
Range("D47").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Bearing").Select
Range("D14").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Calcs").Select
Range("F47").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H47").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("M 360 deg").Select
Range("S2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("WhatIF").Select
Range("E13").Select
'Copy Distance and Time for additions + copy first line down.
ActiveWindow.LargeScroll ToRight:=1
Range("W3:Y3").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveWindow.LargeScroll ToRight:=-1
Range("D14:K14").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range("I13").Select
Selection.Copy
ActiveWindow.LargeScroll ToRight:=1
Range("W3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.LargeScroll ToRight:=-1
Range("K13").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.LargeScroll ToRight:=1
Range("X3").Select
Application.CutCopyMode = False
ActiveWindow.LargeScroll ToRight:=-1
Range("I13").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.LargeScroll ToRight:=1
Range("K13").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.LargeScroll ToRight:=1
Range("X3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.LargeScroll ToRight:=-1
Range("D13:K13").Select
Application.CutCopyMode = False
Selection.Copy
Range("D15").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=1
Range("E13").Select
'Remove top line of Course
ActiveWindow.LargeScroll ToRight:=1
Range("AA2:AI2").Select
Selection.Delete Shift:=xlUp
ActiveWindow.LargeScroll ToRight:=-2
Range("E13").Select
Loop Until ("AA2<1")
End SubWorkTests44 I see problem is in last line.
You need to clarify AA2 of which sheet?
Update it as below, in below line change "Course" with correct worksheet name where your cell AA2 is located.
Loop Until Sheets("Course").Range("AA2").Value < 1
- WorkTests44May 18, 2020Copper ContributorMany Thanks, great help
- bhushan_zMay 18, 2020Iron ContributorGlad to help..
Can pls accept it as a 'Solution' so that we can close this thread.- WorkTests44May 19, 2020Copper Contributor
Yes, great, how do I remove a thread?
- bhushan_zMay 18, 2020Iron Contributor
one more thing, it is good idea to avoid using specific worksheet name.
I meant, do not use sheet names like, "Course", "Time", etc.Because if someone changes the sheet name, your code will fail.
Instead use sheet number. Refer below screenshot.
So to call "Time" sheet, u can use sheet1.select instead of Sheets("Time").Select
same way sheet2.select instead of Sheets("Course").Select
- WorkTests44May 18, 2020Copper ContributorThanks, will do