Table of Contents

Controls Collection

When creating Userforms in Excel VBA you can use the Controls collection to easily loop through controls and set a property of each control to a specific value.

The Userform we are going to create looks as follows:

Controls Collection in Excel VBA

To create this Userform execute the following steps:

1. Open the Visual Basic Editor. If the Project Explorer is not visible click View Project Explorer.

2. Click Insert Userform. If the Toolbox does not appear automatically click View Toolbox. Your screen should be set up as below.

Userform Screen Setup in Excel VBA

3. Add the label text boxes (first at the top the second below the first and so on) and command button. Once this has been completed the result should be consistent with the picture of the Userform shown earlier. For example create a text box control by clicking on TextBox from the Toolbox. Next you can drag a text box on the Userform.

4. To change the caption of the Userform label and command button click View Properties Window and click on each control.

5. To show the Userform place a command button on your worksheet and add the following code line:

Private Sub CommandButton1_Click()

UserForm1.Show vbModeless

End Sub

Explanation: by adding vbModeless you can use the Userform and work in your worksheet at the same time.

We have now created the first part of the Userform. Although it looks neat already nothing will happen yet when we click the command button on the Userform.

6. Open the Visual Basic Editor.

7. In the Project Explorer double click on UserForm1.

8. Double click on the command button.

9. Add the following code lines:

Private Sub CommandButton1_Click()

Dim i As Integer

For i = 1 To 10
Controls(“TextBox” & i).Value = Cells(i + 1 1).Value
Next i

End Sub

Explanation: With just a few lines of code we can fill the text boxes with the phone numbers from the sheet. We used the & operator to concatenate (join) the elements. These code lines work because we didn’t change the names of the text box controls (TextBox1 TextBox2 TextBox3 etc). To change the names of the controls click View Properties Window and click on each control.

Result when you click the command button on the sheet:

Controls Collection Result

Leave A Comment

Excel meets AI – Boost your productivity like never before!

At Formulas HQ, we’ve harnessed the brilliance of AI to turbocharge your Spreadsheet mastery. Say goodbye to the days of grappling with complex formulas, VBA code, and scripts. We’re here to make your work smarter, not harder.

Related Articles

The Latest on Formulas HQ Blog