ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Nested Do While Loops (https://www.excelbanter.com/excel-programming/420319-nested-do-while-loops.html)

Gum

Nested Do While Loops
 
I have been trying to get a nested Do While Loop and I need to find out where
I went wrong. The snippet of the procedure is as follows:

Sub control()
Dim Target1 As Integer
Dim Target2 As Integer
Dim TTarget As Integer
Dim Net As Integer
Dim ExNet As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer


BTarget = Sheets("Sheet1").Range("H3")
STarget = Sheets("Sheet1").Range("H4")
ExNet = Sheets("Sheet1").Range("N3")
TTarget = Target1 + Target2
While TTarget < 0 And i < 100
If TTarget ExNet Then
Net = TTarget - ExNet
While Net 0 And j < 100
Sheets("Sheet1").Range("G3") = 1
Sheets("Sheet1").Range("G4") = 0
j = j + 1
Wend
Else:
If ExNet TTarget Then
Net = Exnet - TTarget
While Net 0 And k < 100
Sheets("Sheet1").Range("G3") = 0
Sheets("Sheet1").Range("G4") = 1
k = k + 1
Wend
End If
i = i + 1
Wend
End If
End Sub

I placed the i,j, and k just to control the maximum times the loop occurs so
that it would not be indefinite.
I am getting errors with the 'Wend without While' compile error when the
above procedure is run.

Bob Phillips[_3_]

Nested Do While Loops
 
Just fixing the syntax

Sub control()
Dim Target1 As Integer
Dim Target2 As Integer
Dim TTarget As Integer
Dim Net As Integer
Dim ExNet As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer


BTarget = Sheets("Sheet1").Range("H3")
STarget = Sheets("Sheet1").Range("H4")
ExNet = Sheets("Sheet1").Range("N3")
TTarget = Target1 + Target2
While TTarget < 0 And i < 100

If TTarget ExNet Then

Net = TTarget - ExNet
While Net 0 And j < 100

Sheets("Sheet1").Range("G3") = 1
Sheets("Sheet1").Range("G4") = 0
j = j + 1
Wend
Else
If ExNet TTarget Then

Net = ExNet - TTarget
While Net 0 And k < 100

Sheets("Sheet1").Range("G3") = 0
Sheets("Sheet1").Range("G4") = 1
k = k + 1
Wend
End If

i = i + 1
End If
Wend
End Sub


--
__________________________________
HTH

Bob

"Gum" wrote in message
...
I have been trying to get a nested Do While Loop and I need to find out
where
I went wrong. The snippet of the procedure is as follows:

Sub control()
Dim Target1 As Integer
Dim Target2 As Integer
Dim TTarget As Integer
Dim Net As Integer
Dim ExNet As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer


BTarget = Sheets("Sheet1").Range("H3")
STarget = Sheets("Sheet1").Range("H4")
ExNet = Sheets("Sheet1").Range("N3")
TTarget = Target1 + Target2
While TTarget < 0 And i < 100
If TTarget ExNet Then
Net = TTarget - ExNet
While Net 0 And j < 100
Sheets("Sheet1").Range("G3") = 1
Sheets("Sheet1").Range("G4") = 0
j = j + 1
Wend
Else:
If ExNet TTarget Then
Net = Exnet - TTarget
While Net 0 And k < 100
Sheets("Sheet1").Range("G3") = 0
Sheets("Sheet1").Range("G4") = 1
k = k + 1
Wend
End If
i = i + 1
Wend
End If
End Sub

I placed the i,j, and k just to control the maximum times the loop occurs
so
that it would not be indefinite.
I am getting errors with the 'Wend without While' compile error when the
above procedure is run.




Susan

Nested Do While Loops
 
i think your last "End If" should come before your last "Wend".
i added more spaces to your coding to indent it in a more exaggerated
manner & that's what i come up with.
:)
susan


On Nov 20, 12:14*pm, Gum wrote:
I have been trying to get a nested Do While Loop and I need to find out where
I went wrong. *The snippet of the procedure is as follows:

Sub control()
Dim Target1 As Integer
Dim Target2 As Integer
Dim TTarget As Integer
Dim Net As Integer
Dim ExNet As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer

BTarget = Sheets("Sheet1").Range("H3")
STarget = Sheets("Sheet1").Range("H4")
ExNet = Sheets("Sheet1").Range("N3")
TTarget = Target1 + Target2

While TTarget < 0 And i < 100
* * If TTarget ExNet Then
* * Net = TTarget - ExNet
* * While Net 0 And j < 100
* * * * Sheets("Sheet1").Range("G3") = 1
* * * * Sheets("Sheet1").Range("G4") = 0
* * * * j = j + 1
* * Wend
* * Else:
* * If ExNet TTarget Then
* * Net = Exnet - TTarget
* * While Net 0 And k < 100
* * * * Sheets("Sheet1").Range("G3") = 0
* * * * Sheets("Sheet1").Range("G4") = 1
* * * * k = k + 1
* * Wend
* * End If
i = i + 1
Wend
End If
End Sub

I placed the i,j, and k just to control the maximum times the loop occurs so
that it would not be indefinite.
I am getting errors with the 'Wend without While' compile error when the
above procedure is run.



Dave Peterson

Nested Do While Loops
 
If you indent your code, it makes it easier to line up your while/wend and
if/else/end if's.



While TTarget < 0 And i < 100
If TTarget ExNet Then
Net = TTarget - ExNet
While Net 0 And j < 100
Sheets("Sheet1").Range("G3") = 1
Sheets("Sheet1").Range("G4") = 0
j = j + 1
Wend
Else
If ExNet TTarget Then
Net = Exnet - TTarget
While Net 0 And k < 100
Sheets("Sheet1").Range("G3") = 0
Sheets("Sheet1").Range("G4") = 1
k = k + 1
Wend
End If
end if '<-- added
i = i + 1
Wend

Gum wrote:

I have been trying to get a nested Do While Loop and I need to find out where
I went wrong. The snippet of the procedure is as follows:

Sub control()
Dim Target1 As Integer
Dim Target2 As Integer
Dim TTarget As Integer
Dim Net As Integer
Dim ExNet As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer

BTarget = Sheets("Sheet1").Range("H3")
STarget = Sheets("Sheet1").Range("H4")
ExNet = Sheets("Sheet1").Range("N3")
TTarget = Target1 + Target2
While TTarget < 0 And i < 100
If TTarget ExNet Then
Net = TTarget - ExNet
While Net 0 And j < 100
Sheets("Sheet1").Range("G3") = 1
Sheets("Sheet1").Range("G4") = 0
j = j + 1
Wend
Else:
If ExNet TTarget Then
Net = Exnet - TTarget
While Net 0 And k < 100
Sheets("Sheet1").Range("G3") = 0
Sheets("Sheet1").Range("G4") = 1
k = k + 1
Wend
End If
i = i + 1
Wend
End If
End Sub

I placed the i,j, and k just to control the maximum times the loop occurs so
that it would not be indefinite.
I am getting errors with the 'Wend without While' compile error when the
above procedure is run.


--

Dave Peterson


All times are GMT +1. The time now is 03:40 PM.

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