ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Avoid multiple select constructs (https://www.excelbanter.com/excel-programming/409808-avoid-multiple-select-constructs.html)

azSuch

Avoid multiple select constructs
 
Hi,
I m a newbie, I have this select case checking for textbox values. I
want to loop this so that it checks for all the textboxes. Or else I
got to write the same code for each Textbox :(

Select Case Me.TextBox1.Value

Case Is < 2
Me.TextBox1.BackColor = &H80FF80

Case 2 To 4
Me.TextBox1.BackColor = &H80FFFF

Case Is 4
Me.TextBox1.BackColor = &HFF
End Select

Bob Phillips

Avoid multiple select constructs
 
For i = 1 To 10 'or whatver max value

Select Case Me.Controls("TextBox" & i).Value

Case Is < 2
Me.Controls("TextBox" & i).BackColor = &H80FF80

Case 2 To 4
Me.Controls("TextBox" & i).BackColor = &H80FFFF

Case Is 4
Me.Controls("TextBox" & i).BackColor = &HFF
End Select
Next i

--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)



"azSuch" wrote in message
...
Hi,
I m a newbie, I have this select case checking for textbox values. I
want to loop this so that it checks for all the textboxes. Or else I
got to write the same code for each Textbox :(

Select Case Me.TextBox1.Value

Case Is < 2
Me.TextBox1.BackColor = &H80FF80

Case 2 To 4
Me.TextBox1.BackColor = &H80FFFF

Case Is 4
Me.TextBox1.BackColor = &HFF
End Select




James Snell

Avoid multiple select constructs
 
Assuming the controls are the first things on the form or in the container
then you could use something like this...

Dim N As Integer

For N = 0 To 2
With Me.Controls(N)
Select Case .Value

Case Is < 2
.BackColor = &H80FF80

Case 2 To 4
.BackColor = &H80FFFF

Case Is 4
.BackColor = &HFF

End Select
End With
Next N

....if they're not then you'll need to change the values in the loop (in the
with block) as you go to point to the correct controls.


"azSuch" wrote:

Hi,
I m a newbie, I have this select case checking for textbox values. I
want to loop this so that it checks for all the textboxes. Or else I
got to write the same code for each Textbox :(

Select Case Me.TextBox1.Value

Case Is < 2
Me.TextBox1.BackColor = &H80FF80

Case 2 To 4
Me.TextBox1.BackColor = &H80FFFF

Case Is 4
Me.TextBox1.BackColor = &HFF
End Select



All times are GMT +1. The time now is 01:41 PM.

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