ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Help with For Each ... Next and control (https://www.excelbanter.com/excel-programming/397556-help-each-next-control.html)

Ayo

Help with For Each ... Next and control
 
I have a form that contains a Multipage control, with 4 pages, and about 5
textboxes, 5 labels and 5 commandbuttons on each page. I am trying to use
"For Each ctl In frmOpenFiles.Controls
If TypeName(ctl) = "TextBox" Then" to go through the controls on the
form and only look for the textboxes.

My problem is that I am looking for a way to do the textboxes for before
the other controls or if there is a way to tell the programme which controls
to start with.
I want it to start with the textboxes on the first page of the Multipage,
then the textboxes on the second page and so on.

Leith Ross[_2_]

Help with For Each ... Next and control
 
On Sep 16, 11:36 am, Ayo wrote:
I have a form that contains a Multipage control, with 4 pages, and about 5
textboxes, 5 labels and 5 commandbuttons on each page. I am trying to use
"For Each ctl In frmOpenFiles.Controls
If TypeName(ctl) = "TextBox" Then" to go through the controls on the
form and only look for the textboxes.

My problem is that I am looking for a way to do the textboxes for before
the other controls or if there is a way to tell the programme which controls
to start with.
I want it to start with the textboxes on the first page of the Multipage,
then the textboxes on the second page and so on.


Hello Ayo,

This macro steps through each page of the MultiPage control and counts
the number of TextBoxes on each page, if any. After each page is
examined, a MessageBox displays the count. The macro was placed in the
UserForm Click event. You can use this code as template for your own.

Private Sub UserForm_Click()

Dim Ctrls As Object
Dim I As Long, N As Long
Dim txtbox As Object

For I = 0 To UserForm1.MultiPage1.Pages.Count - 1
Set Ctrls = UserForm1.MultiPage1.Pages(I).Controls
For Each txtbox In Ctrls
N = N + 1
Next txtbox
MsgBox "Page(" & I & ") has " & N & " TextBoxes"
N = 0
Next I

End Sub

Sincerely,
Leith Ross


Ayo

Help with For Each ... Next and control
 
Thanks a lot Leith. I think this might actually do the trick.

"Leith Ross" wrote:

On Sep 16, 11:36 am, Ayo wrote:
I have a form that contains a Multipage control, with 4 pages, and about 5
textboxes, 5 labels and 5 commandbuttons on each page. I am trying to use
"For Each ctl In frmOpenFiles.Controls
If TypeName(ctl) = "TextBox" Then" to go through the controls on the
form and only look for the textboxes.

My problem is that I am looking for a way to do the textboxes for before
the other controls or if there is a way to tell the programme which controls
to start with.
I want it to start with the textboxes on the first page of the Multipage,
then the textboxes on the second page and so on.


Hello Ayo,

This macro steps through each page of the MultiPage control and counts
the number of TextBoxes on each page, if any. After each page is
examined, a MessageBox displays the count. The macro was placed in the
UserForm Click event. You can use this code as template for your own.

Private Sub UserForm_Click()

Dim Ctrls As Object
Dim I As Long, N As Long
Dim txtbox As Object

For I = 0 To UserForm1.MultiPage1.Pages.Count - 1
Set Ctrls = UserForm1.MultiPage1.Pages(I).Controls
For Each txtbox In Ctrls
N = N + 1
Next txtbox
MsgBox "Page(" & I & ") has " & N & " TextBoxes"
N = 0
Next I

End Sub

Sincerely,
Leith Ross




All times are GMT +1. The time now is 11:45 PM.

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