Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Looping through controls on a MultiPage control
Hi All
I would like to clear textboxes on a MultiPage control. The user chooses to clear textboxes on CURRENT page or ALL pages. My code is below. The problem is that Current works, but All doesn't. frmStart (the whole form) does not pass, and I get a data mismatch error. If I change the data type in ClearInputs from MSForms.Control to Variant, it will work, but this seems sloppy to me - I'd like to know the actual data type to use. I also tried using Control as the data type, but got same error. Any suggestions? Thanks in advance Paul Martin Melbourne, Australia ________________________________________ Private Sub cmdAll_Click() ' THIS FAILS - frmStart does not pass to ClearInputs ClearInputs frmStart ' clear all textboxes on form End Sub ________________________________________ Private Sub cmdCurrent_Click() ' THIS WORKS Dim i as Integer With frmStart.mpgInputs i = .Value ' get current page of MultiPage ClearInputs .Pages(i) ' clear textboxes on current page End With End Sub ________________________________________ Private Sub ClearInputs(ByRef ctlParentA As MSForms.Control) Dim ctl As MSForms.Control For Each ctl In ctlParentA.Controls If TypeOf ctl Is MSForms.TextBox Then ctl.Value = "" End If Next ctl End Sub ________________________________________ |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Looping through controls on a MultiPage control
Private Sub cmdAll_Click()
Dim p As MSForms.Control For Each p In frmStart.mpgInputs.Pages ClearInputs p Next End Sub Regards - Steve. "Paul Martin" wrote in message om... Hi All I would like to clear textboxes on a MultiPage control. The user chooses to clear textboxes on CURRENT page or ALL pages. My code is below. The problem is that Current works, but All doesn't. frmStart (the whole form) does not pass, and I get a data mismatch error. If I change the data type in ClearInputs from MSForms.Control to Variant, it will work, but this seems sloppy to me - I'd like to know the actual data type to use. I also tried using Control as the data type, but got same error. Any suggestions? Thanks in advance Paul Martin Melbourne, Australia ________________________________________ Private Sub cmdAll_Click() ' THIS FAILS - frmStart does not pass to ClearInputs ClearInputs frmStart ' clear all textboxes on form End Sub ________________________________________ Private Sub cmdCurrent_Click() ' THIS WORKS Dim i as Integer With frmStart.mpgInputs i = .Value ' get current page of MultiPage ClearInputs .Pages(i) ' clear textboxes on current page End With End Sub ________________________________________ Private Sub ClearInputs(ByRef ctlParentA As MSForms.Control) Dim ctl As MSForms.Control For Each ctl In ctlParentA.Controls If TypeOf ctl Is MSForms.TextBox Then ctl.Value = "" End If Next ctl End Sub ________________________________________ |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Looping through controls on a MultiPage control
Responded to your email, but the reply was rejected.
specifying msforms as a qualifier eliminates confusion with controls in other libraries with the same type name. -- regards, Tom Ogilvy "Paul Martin" wrote in message om... Hi All I would like to clear textboxes on a MultiPage control. The user chooses to clear textboxes on CURRENT page or ALL pages. My code is below. The problem is that Current works, but All doesn't. frmStart (the whole form) does not pass, and I get a data mismatch error. If I change the data type in ClearInputs from MSForms.Control to Variant, it will work, but this seems sloppy to me - I'd like to know the actual data type to use. I also tried using Control as the data type, but got same error. Any suggestions? Thanks in advance Paul Martin Melbourne, Australia ________________________________________ Private Sub cmdAll_Click() ' THIS FAILS - frmStart does not pass to ClearInputs ClearInputs frmStart ' clear all textboxes on form End Sub ________________________________________ Private Sub cmdCurrent_Click() ' THIS WORKS Dim i as Integer With frmStart.mpgInputs i = .Value ' get current page of MultiPage ClearInputs .Pages(i) ' clear textboxes on current page End With End Sub ________________________________________ Private Sub ClearInputs(ByRef ctlParentA As MSForms.Control) Dim ctl As MSForms.Control For Each ctl In ctlParentA.Controls If TypeOf ctl Is MSForms.TextBox Then ctl.Value = "" End If Next ctl End Sub ________________________________________ |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Looping through controls on a MultiPage control
Thanks Stevie
I knew it was simple, just couldn't find it. Your solution was great, though I declared p as MSForms.Page. Regards Paul Thanks also, Tom. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
How to loop through controls on a MultiPage | Excel Programming | |||
Multipage Controls - Experts Only | Excel Programming | |||
Progmatically adding controls in multipage | Excel Programming | |||
Set Focus Problem for textbox control on multipage control | Excel Programming | |||
Events for Controls in a Multipage Control | Excel Programming |