Dynamically Adding Labels to User Form = Blank UserForm

excel, vba

Solution

A few things:

- You need to show your UserForm as `vbModeless` - else the code stops on `UserForm2.Show`

- You are creating an object called `Label` then using `With` on `theLabel`

You will then need to increment the position of your three labels to avoid overlap (which I have done using `Top`).

Sub addLabel()
UserForm2.Show vbModeless
Dim theLabel As Object
Dim labelCounter As Long

For labelCounter = 1 To 3
    Set theLabel = UserForm2.Controls.Add("Forms.Label.1", "Test" & labelCounter, True)
    With theLabel
        .Caption = "Test" & labelCounter
        .Left = 10
        .Width = 50
        .Top = 10 * labelCounter
    End With
Next
End Sub

Problem

I'm trying to dynamically add buttons to the userform, but the userform just comes up blank. Ive simplified the essence of the code as much as possible for error checking (not that it's helped me) ``` Sub addLabel() UserForm2.Show Dim theLabel As Label Dim labelCounter As Integer For labelCounter = 1 To 3 Set Label = UserForm2.Controls.Add("Forms.Label.1", "Test" & labelCounter, True) With theLabel .Caption = "Test" & labelCounter .Left = 10 .Width = 50 .Top = 10 End With End Sub ``` Is there any way of checking if the buttons have been added but are invisible? Or why they are not being added. Any help greatly appreciated.

Original source