How to: Display the Name of Each Control on a Form or a Page of a MultiPage Control
Collapse the table of content
Expand the table of content

How to: Display the Name of Each Control on a Form or a Page of a MultiPage Control


Contribute to this content

Use GitHub to suggest and submit changes. See our guidelines for contributing to VBA documentation.

The following example uses the Item method to access individual members of the Microsoft Forms 2.0 Controls collection and Pages collection. The user chooses an option button for either the Controls collection or the MultiPage, and then clicks the CommandButton. The name of the appropriate control is returned in the Label.

To use this example, copy this sample code to the Script Editor of a form. To run the code you need to open the form so the Open event will activate. Make sure that the form contains:

  • A CommandButton named CommandButton1.

  • A Label named Label1.

  • Two OptionButton controls named OptionButton1 and OptionButton2.

  • A MultiPage named MultiPage1.

Dim ControlsIndex 
Sub CommandButton1_Click() 
 Set Controls = Item.GetInspector.ModifiedFormPages("P.2").Controls 
 Set OptionButton1 = Controls("OptionButton1") 
 Set OptionButton2 = Controls("OptionButton2") 
 Set Label1 = Controls("Label1") 
 Set MultiPage1 = Controls("MultiPage1") 
 If OptionButton1.Value = True Then 
 'Process Controls collection for UserForm 
 Set MyControl = Controls.Item(ControlsIndex) 
 Label1.Caption = MyControl.Name 
 'Prepare index for next control on Userform 
 ControlsIndex = ControlsIndex + 1 
 If ControlsIndex >= Controls.Count Then 
 ControlsIndex = 0 
 End If 
 ElseIf OptionButton2.Value = True Then 
 'Process Current Page of Pages collection 
 Set MyControl = MultiPage1.Pages.Item(MultiPage1.Value) 
 Label1.Caption = MyControl.Name 
 End If 
End Sub 
Sub Item_Open() 
 ControlsIndex = 0 
 Set OptionButton1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("OptionButton1") 
 Set OptionButton2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("OptionButton2") 
 Set CommandButton1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("CommandButton1") 
 OptionButton1.Caption = "Controls Collection" 
 OptionButton2.Caption = "Pages Collection" 
 OptionButton1.Value = True 
 CommandButton1.Caption = "Get Member Name" 
End Sub
© 2015 Microsoft