Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() My problem is that I get a "Loop without Do" statement (my code might have other problems....I'll get to them later !) No need to tell ya guys I'm a newbie... Thanks in advance Marc Here's my code: Sub NoComact() Dim counter As Integer Dim compteur As Integer counter = 1 compteur = 1 Do While counter < 1000 Do Range("B, counter").Select While Right("B, counter", 1) < Right("B, counter + 1", 1) Range("C, counter").Value = "BRG-000 & compteur " counter = counter + 1 Loop compteur = compteur + 1 Loop End Sub (btw, compteur is counter in french) |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
because your enclosing your variable in quotes they're not being treated as variable. Here's the corrected syntax for the middle loop but it is fundamentally flawed because as soon as the code finds a value where (say) B2 is < B1 it will go into an endless loop, it will thenterminate quite quickly with OVERFLOW because your variables are declared as integers and should be long. Perhaps you could explain what it is your trying to do Do While Right(Range("B" & counter), 1) < Right(Range("B" & counter + 1), 1) Range("C" & counter).Value = "BRG-000" & compteur counter = counter + 1 Loop Mike "Marc Gendron" wrote: My problem is that I get a "Loop without Do" statement (my code might have other problems....I'll get to them later !) No need to tell ya guys I'm a newbie... Thanks in advance Marc Here's my code: Sub NoComact() Dim counter As Integer Dim compteur As Integer counter = 1 compteur = 1 Do While counter < 1000 Do Range("B, counter").Select While Right("B, counter", 1) < Right("B, counter + 1", 1) Range("C, counter").Value = "BRG-000 & compteur " counter = counter + 1 Loop compteur = compteur + 1 Loop End Sub (btw, compteur is counter in french) |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
It is a little difficult to be sure what you're trying to do. However, I
think the following may get fairly close. You may need to tweak a bit, but this will give you some new ideas anyhow. Specific notes: 1) You don't need to "select" a cell to perform operations with it; and 2) you can use a "do while" loop, but it should be a single statement (i.e. on one line) with the "while" condition stated on the same line. If your line is too long, you can wrap it using [space][underscore][enter]. Sub OtherWaysToLoop() Dim i As Long, r As Long Application.ScreenUpdating = False i = 1 For r = 1 To 999 If Right(Cells(r, 2), 1) < Right(Cells(r + 1, 2), 1) Then Cells(r, 3) = "BRG-000" & i Else i = i + 1 Cells(r, 3) = "BRG-000" & i End If Next End Sub "Marc Gendron" wrote: My problem is that I get a "Loop without Do" statement (my code might have other problems....I'll get to them later !) No need to tell ya guys I'm a newbie... Thanks in advance Marc Here's my code: Sub NoComact() Dim counter As Integer Dim compteur As Integer counter = 1 compteur = 1 Do While counter < 1000 Do Range("B, counter").Select While Right("B, counter", 1) < Right("B, counter + 1", 1) Range("C, counter").Value = "BRG-000 & compteur " counter = counter + 1 Loop compteur = compteur + 1 Loop End Sub (btw, compteur is counter in french) |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
returning back to loop check condition without completing the loop | Excel Programming | |||
Loop to Filter, Name Sheets. If Blank, Exit Loop | Excel Programming | |||
Naming Worksheets - Loop within a loop issue | Excel Programming | |||
Naming Worksheets - Loop within a loop issue | Excel Programming | |||
Advancing outer Loop Based on criteria of inner loop | Excel Programming |