ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   For...Loop to verify at least one checkbox = True (https://www.excelbanter.com/excel-programming/410853-loop-verify-least-one-checkbox-%3D-true.html)

RyanH

For...Loop to verify at least one checkbox = True
 
I have a UserForm with a Multipage Control (mpgPaint). Each Page is Named
pgColor1, pgColor2, pgColor3, pgColor4, pgColor5, & pgColor6. On each page
there are two checkboxes named chk1stSurfaceP1 & chk2ndSurfaceP1 (the number
1 represents what page it is on). How can I cycle through each page and make
sure at least 1 checkbox is true? This is what I have, but it does not seem
to work.

Dim i As Byte

If chkPaint.Value = True Then
Do
For i = 1 To 5
If mpgPaint.Pages(i - 1).CheckBox("chk1stSurfaceP" &
i).Value = False And _
mpgPaint.Pages(i - 1).CheckBox("chk2ndSurfaceP" &
i).Value = False Then
MsgBox ("You forgot to specify 1st or 2nd
Surface in Paint Color " & i & "."), vbCritical
StopCode = True
Exit For
End If
Next i
Loop Until mpgPaint.Pages(i - 1).Visible = False
End If

Thanks in Advance,
Ryan

Bernie Deitrick

For...Loop to verify at least one checkbox = True
 
Ryan,

Dim i As Byte

If chkPaint.Value = True Then
For i = 1 To 2
If Controls("chk1stSurfaceP" & i).Value = False And _
Controls("chk2ndSurfaceP" & i).Value = False Then
MsgBox ("You forgot to specify 1st or 2nd Surface in Paint Color " & i & "."), vbCritical
GoTo NotChecked
End If
Next i
End If

MsgBox "You checked the surfaces correctly."
Exit Sub
NotChecked:

HTH,
Bernie
MS Excel MVP


"RyanH" wrote in message
...
I have a UserForm with a Multipage Control (mpgPaint). Each Page is Named
pgColor1, pgColor2, pgColor3, pgColor4, pgColor5, & pgColor6. On each page
there are two checkboxes named chk1stSurfaceP1 & chk2ndSurfaceP1 (the number
1 represents what page it is on). How can I cycle through each page and make
sure at least 1 checkbox is true? This is what I have, but it does not seem
to work.

Dim i As Byte

If chkPaint.Value = True Then
Do
For i = 1 To 5
If mpgPaint.Pages(i - 1).CheckBox("chk1stSurfaceP" &
i).Value = False And _
mpgPaint.Pages(i - 1).CheckBox("chk2ndSurfaceP" &
i).Value = False Then
MsgBox ("You forgot to specify 1st or 2nd
Surface in Paint Color " & i & "."), vbCritical
StopCode = True
Exit For
End If
Next i
Loop Until mpgPaint.Pages(i - 1).Visible = False
End If

Thanks in Advance,
Ryan




Bernie Deitrick

For...Loop to verify at least one checkbox = True
 
Oops.. I forgot to change

For i = 1 To 2

back to

For i = 1 To 6

HTH,
Bernie
MS Excel MVP


"Bernie Deitrick" <deitbe @ consumer dot org wrote in message
...
Ryan,

Dim i As Byte

If chkPaint.Value = True Then
For i = 1 To 2
If Controls("chk1stSurfaceP" & i).Value = False And _
Controls("chk2ndSurfaceP" & i).Value = False Then
MsgBox ("You forgot to specify 1st or 2nd Surface in Paint Color " & i & "."), vbCritical
GoTo NotChecked
End If
Next i
End If

MsgBox "You checked the surfaces correctly."
Exit Sub
NotChecked:

HTH,
Bernie
MS Excel MVP


"RyanH" wrote in message
...
I have a UserForm with a Multipage Control (mpgPaint). Each Page is Named
pgColor1, pgColor2, pgColor3, pgColor4, pgColor5, & pgColor6. On each page
there are two checkboxes named chk1stSurfaceP1 & chk2ndSurfaceP1 (the number
1 represents what page it is on). How can I cycle through each page and make
sure at least 1 checkbox is true? This is what I have, but it does not seem
to work.

Dim i As Byte

If chkPaint.Value = True Then
Do
For i = 1 To 5
If mpgPaint.Pages(i - 1).CheckBox("chk1stSurfaceP" &
i).Value = False And _
mpgPaint.Pages(i - 1).CheckBox("chk2ndSurfaceP" &
i).Value = False Then
MsgBox ("You forgot to specify 1st or 2nd
Surface in Paint Color " & i & "."), vbCritical
StopCode = True
Exit For
End If
Next i
Loop Until mpgPaint.Pages(i - 1).Visible = False
End If

Thanks in Advance,
Ryan







All times are GMT +1. The time now is 01:36 AM.

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