![]() |
Loop without Do
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) |
Loop without Do
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) |
Loop without Do
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) |
All times are GMT +1. The time now is 10:16 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com