ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Start Do/Loop within conditional statement (https://www.excelbanter.com/excel-programming/450584-start-do-loop-within-conditional-statement.html)

[email protected]

Start Do/Loop within conditional statement
 
Hi,
Is it possible to start a Do/Loop with a conditional statement? The code I have is:

If Education = False Then
Class = Range("H" & LastRow).Value
Do While Cells(LastRow, 8).Value = Class And LastRow < 1
Else
Do While LastRow < 1
Class = Range("H" & LastRow).Value
End If

and this is nested in a For/Next routine. When I attempt to run it, I get a "Compile error: Else without If." There is a similar error if I try to use Select/Case routine. If what I'm trying to do isn't possible, then is there a work around to it?
Thanks,
James

Claus Busch

Start Do/Loop within conditional statement
 
Hi,

Am Tue, 13 Jan 2015 10:56:58 -0800 (PST) schrieb :

If Education = False Then
Class = Range("H" & LastRow).Value
Do While Cells(LastRow, 8).Value = Class And LastRow < 1
Else
Do While LastRow < 1
Class = Range("H" & LastRow).Value
End If


what do you want to do into this loop? I cannot see a order to do
anything.


Regards
Claus B.
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

[email protected]

Start Do/Loop within conditional statement
 
Hi Claus,
I'm just trying to start the loop. If I comment out the conditional piece and one pair of the instructions on either side of the Else statement, it works great. On the first condition, if the employee list is to be run according to supervisor, then a report is generated by supervisor. On the second condition, the supervisor is irrelevant and all employess are listed alphabetically. The subroutine is quite large, but to outline the process a little mo

For Each c In Rng.Cells

'Set parameters and counters

If Education = False Then
Class = Range("H" & LastRow).Value
Do While Cells(LastRow, 8).Value = Class And LastRow < 1
Else
Do While LastRow < 1
Class = Range("H" & LastRow).Value
End If

'Extract data and format
'Error checking, too.

Loop

Next c

On Tuesday, January 13, 2015 at 12:57:08 PM UTC-6, wrote:
Hi,
Is it possible to start a Do/Loop with a conditional statement? The code I have is:

If Education = False Then
Class = Range("H" & LastRow).Value
Do While Cells(LastRow, 8).Value = Class And LastRow < 1
Else
Do While LastRow < 1
Class = Range("H" & LastRow).Value
End If

and this is nested in a For/Next routine. When I attempt to run it, I get a "Compile error: Else without If." There is a similar error if I try to use Select/Case routine. If what I'm trying to do isn't possible, then is there a work around to it?
Thanks,
James


Claus Busch

Start Do/Loop within conditional statement
 
Hi,

Am Tue, 13 Jan 2015 11:36:10 -0800 (PST) schrieb :

I'm just trying to start the loop. If I comment out the conditional piece and one pair of the instructions on either side of the Else statement, it works great. On the first condition, if the employee list is to be run according to supervisor, then a report is generated by supervisor. On the second condition, the supervisor is irrelevant and all employess are listed alphabetically. The subroutine is quite large, but to outline the process a little mo


I still don't know what you want to do.
Try:
If Education = False Then
Do
Class = Range("H" & LastRow).Value
Loop While Cells(LastRow, 8).Value = Class And LastRow < 1
Else
Do
Class = Range("H" & LastRow).Value
Loop While LastRow < 1
End If

And if it does not work please explain exactly what you want to do


Regards
Claus B.
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

[email protected]

Start Do/Loop within conditional statement
 
Thanks, Claus, but now it errors on the Loop statement at the bottom of the sub routine. The first conditional generates a report based upon the supervisor's name (Class)- so, it will loop as long as the supervisor's name stays the same. On the second conditional, the report is generated by the employee's surname without regard to the supervisor's name (Class). If worse comes to worse, I can always put the conditional at the top of the sub routine, duplicate the remainder of the module under a different name, and then have the conditional send the execution of the code to that subroutine.

On Tuesday, January 13, 2015 at 12:57:08 PM UTC-6, wrote:
Hi,
Is it possible to start a Do/Loop with a conditional statement? The code I have is:

If Education = False Then
Class = Range("H" & LastRow).Value
Do While Cells(LastRow, 8).Value = Class And LastRow < 1
Else
Do While LastRow < 1
Class = Range("H" & LastRow).Value
End If

and this is nested in a For/Next routine. When I attempt to run it, I get a "Compile error: Else without If." There is a similar error if I try to use Select/Case routine. If what I'm trying to do isn't possible, then is there a work around to it?
Thanks,
James




All times are GMT +1. The time now is 09:38 PM.

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