ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Loop Within a Loop Problem (https://www.excelbanter.com/excel-programming/401998-loop-within-loop-problem.html)

[email protected]

Loop Within a Loop Problem
 
Hi,

I am having trouble with my code. Basically, when I try to launch
this I get an error that says "Do Without Loop". I am a beginner in
coding, and have searched high and low to try to figure this one out
with no avail. Can anyone spot my problem? I think it has to do with
Excel VBA not being able to see the first Do statement.

Thanks in advance,
Derrick

Sub OpenFile()

' Opens Each Cash Sheet Once


Windows("report.xls").Activate
Range("A1").Select

Do
ActiveCell.Offset(0, 3).Select

Dim ColDate As String
Dim WorsheetName As String
ColDate = ActiveCell.Offset(0, -2).Value
WorksheetName = ActiveCell.Offset(0, -3).Value
Workbooks.Open Filename:=ThisWorkbook.Path & "\" &
ActiveCell.Value
' Code to preform in each cash sheet below
Dim rngFound As Range
Dim rngLookIn As Range

Set rngLookIn = Range("B6:AC6")

For Each Cell In rngLookIn
If Cell.Value = ColDate Then
Cell.Select
End If

' End Code to preform in each cash sheet Above
ActiveWorkbook.Close True
Do
ActiveCell.Offset(1, 0).Select
Loop Until ActiveCell.Value < ActiveCell.Offset(1, 0)

ActiveCell.Offset(1, -3).Select
Loop Until ActiveCell.Value = ""


End Sub

John Bundy

Loop Within a Loop Problem
 
Its just the way the code tells you your error has nothing to do with the
loop :) In your case the For/Next loop does not have a Next.
--
-John
Please rate when your question is answered to help us and others know what
is helpful.


" wrote:

Hi,

I am having trouble with my code. Basically, when I try to launch
this I get an error that says "Do Without Loop". I am a beginner in
coding, and have searched high and low to try to figure this one out
with no avail. Can anyone spot my problem? I think it has to do with
Excel VBA not being able to see the first Do statement.

Thanks in advance,
Derrick

Sub OpenFile()

' Opens Each Cash Sheet Once


Windows("report.xls").Activate
Range("A1").Select

Do
ActiveCell.Offset(0, 3).Select

Dim ColDate As String
Dim WorsheetName As String
ColDate = ActiveCell.Offset(0, -2).Value
WorksheetName = ActiveCell.Offset(0, -3).Value
Workbooks.Open Filename:=ThisWorkbook.Path & "\" &
ActiveCell.Value
' Code to preform in each cash sheet below
Dim rngFound As Range
Dim rngLookIn As Range

Set rngLookIn = Range("B6:AC6")

For Each Cell In rngLookIn
If Cell.Value = ColDate Then
Cell.Select
End If

' End Code to preform in each cash sheet Above
ActiveWorkbook.Close True
Do
ActiveCell.Offset(1, 0).Select
Loop Until ActiveCell.Value < ActiveCell.Offset(1, 0)

ActiveCell.Offset(1, -3).Select
Loop Until ActiveCell.Value = ""


End Sub


Dave Peterson

Loop Within a Loop Problem
 
Sometimes when you indent your code, it gets to be a lot easier to find these
kinds of errors--on the other hand, VBA doesn't always give you an error message
that helps you find the real mistake.

In your case, you were missing a "next" for your "For each" line:

Option Explicit
Sub OpenFile()

Dim rngFound As Range
Dim rngLookIn As Range
Dim ColDate As String
Dim WorksheetName As String
Dim cell As Range

' Opens Each Cash Sheet Once

Windows("report.xls").Activate
Range("A1").Select

Do
ActiveCell.Offset(0, 3).Select

ColDate = ActiveCell.Offset(0, -2).Value
WorksheetName = ActiveCell.Offset(0, -3).Value
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & ActiveCell.Value
'Code to preform in each cash sheet below

Set rngLookIn = Range("B6:AC6")

For Each cell In rngLookIn
If cell.Value = ColDate Then
cell.Select
'stop looking so exit the For??
exit for '<--- added
End If
Next cell '<--- added

' End Code to preform in each cash sheet Above
ActiveWorkbook.Close True
Do
ActiveCell.Offset(1, 0).Select
Loop Until ActiveCell.Value < ActiveCell.Offset(1, 0)

ActiveCell.Offset(1, -3).Select

Loop Until ActiveCell.Value = ""

End Sub

=======
But I'm not sure that's what/where you really wanted it.


wrote:

Hi,

I am having trouble with my code. Basically, when I try to launch
this I get an error that says "Do Without Loop". I am a beginner in
coding, and have searched high and low to try to figure this one out
with no avail. Can anyone spot my problem? I think it has to do with
Excel VBA not being able to see the first Do statement.

Thanks in advance,
Derrick

Sub OpenFile()

' Opens Each Cash Sheet Once

Windows("report.xls").Activate
Range("A1").Select

Do
ActiveCell.Offset(0, 3).Select

Dim ColDate As String
Dim WorsheetName As String
ColDate = ActiveCell.Offset(0, -2).Value
WorksheetName = ActiveCell.Offset(0, -3).Value
Workbooks.Open Filename:=ThisWorkbook.Path & "\" &
ActiveCell.Value
' Code to preform in each cash sheet below
Dim rngFound As Range
Dim rngLookIn As Range

Set rngLookIn = Range("B6:AC6")

For Each Cell In rngLookIn
If Cell.Value = ColDate Then
Cell.Select
End If

' End Code to preform in each cash sheet Above
ActiveWorkbook.Close True
Do
ActiveCell.Offset(1, 0).Select
Loop Until ActiveCell.Value < ActiveCell.Offset(1, 0)

ActiveCell.Offset(1, -3).Select
Loop Until ActiveCell.Value = ""

End Sub


--

Dave Peterson

[email protected]

Loop Within a Loop Problem
 
Thanks Everyone - that did the trick.


All times are GMT +1. The time now is 01:22 PM.

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