![]() |
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 |
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 |
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 |
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