ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Check all textboxes (https://www.excelbanter.com/excel-programming/388866-check-all-textboxes.html)

stewart

Check all textboxes
 
how can i get this too work. What am I doing wrong? My code is just
a guess based on other snipets I have seen and used.

Private Sub CommandButton1_Click()
For Each Control In
ThisWorkbook.VBProject.VBComponents("frmEvaluation ").Designer.Controls(MultiPage1).Pages(0)
If TypeOf Control Is MSForms.TextBox Then
If Control.Value = "" Then
MsgBox "fill it"
Else
MsgBox "its filled"
End If
End If
Next Control

I want to check all of the textboxes on page 0 to make sure that they
conatain an input from the user.


joel

Check all textboxes
 
try this. If you have shapes like rectangle it will also look for the text
boxes in shapes.


Sub CommandButton1_click()

For Each Control In Sheets("sheet1").Shapes

If Control.Type = msoTextBox Then

If Control.DrawingObject.Caption = "" Then
MsgBox "fill it"
Else
MsgBox "its filled"
End If
End If

Next Control
End Sub

"stewart" wrote:

how can i get this too work. What am I doing wrong? My code is just
a guess based on other snipets I have seen and used.

Private Sub CommandButton1_Click()
For Each Control In
ThisWorkbook.VBProject.VBComponents("frmEvaluation ").Designer.Controls(MultiPage1).Pages(0)
If TypeOf Control Is MSForms.TextBox Then
If Control.Value = "" Then
MsgBox "fill it"
Else
MsgBox "its filled"
End If
End If
Next Control

I want to check all of the textboxes on page 0 to make sure that they
conatain an input from the user.



merjet

Check all textboxes
 
Try this instead:
For Each Control In Me.Controls

Also, it's a good habit to avoid using variable names that can lead to
problems. For example, use ctrl rather than Control.

Hth,
Merjet



stewart

Check all textboxes
 
merjet,
this does work but is there a way to specify a certain page in a
multipage control. Also how do I stop it once it has found an empty
textbox.


On May 7, 1:16 pm, merjet wrote:
Try this instead:
For Each Control In Me.Controls

Also, it's a good habit to avoid using variable names that can lead to
problems. For example, use ctrl rather than Control.

Hth,
Merjet




merjet

Check all textboxes
 
On May 7, 1:35 pm, stewart wrote:
merjet,
this does work but is there a way to specify a certain page in a
multipage control. Also how do I stop it once it has found an empty
textbox.


You can specify the page, stop the Sub and set the focus on the empty
TextBox as follows.

Dim ctrl As Control
For Each ctrl In Me.Controls
If TypeOf ctrl Is MSForms.TextBox And ctrl.Parent.Name = "Page1"
Then
If ctrl.Value = "" Then
MsgBox "fill it"
ctrl.SetFocus
Exit Sub
Else
MsgBox "its filled"
End If
End If
Next ctrl

Hth,
Merjet


stewart

Check all textboxes
 
Great. Works perfectly thank you

On May 7, 3:15 pm, merjet wrote:
On May 7, 1:35 pm, stewart wrote:

merjet,
this does work but is there a way to specify a certain page in a
multipage control. Also how do I stop it once it has found an empty
textbox.


You can specify the page, stop the Sub and set the focus on the empty
TextBox as follows.

Dim ctrl As Control
For Each ctrl In Me.Controls
If TypeOf ctrl Is MSForms.TextBox And ctrl.Parent.Name = "Page1"
Then
If ctrl.Value = "" Then
MsgBox "fill it"
ctrl.SetFocus
Exit Sub
Else
MsgBox "its filled"
End If
End If
Next ctrl

Hth,
Merjet





All times are GMT +1. The time now is 02:18 AM.

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