ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Run time error 91 when trying to add controls to a collection (https://www.excelbanter.com/excel-programming/415294-run-time-error-91-when-trying-add-controls-collection.html)

ExcelMonkey

Run time error 91 when trying to add controls to a collection
 
Wy am I getting Run time error 91 when trying to add controls to my collection.

Public cntrlclctn1 As Collection
Sub thing()
Dim lbl As Control
Dim txtbx As Control

'Create controls
Set lbl = UserForm1.Controls.Add("Forms.Label.1")
lbl.Caption = "Label Text"
Set txtbx = UserForm1.Controls.Add("Forms.TextBox.1")
txtbx.Text = "Text Box Text"

'Add controls to collection
cntrlclctn1.Add (lbl)
cntrlclctn1.Add (txtbx)

UserForm1.Show
End Sub

Jim Thomlinson

Run time error 91 when trying to add controls to a collection
 
You have declared a variable for the collection but you have not actually
created the collection object. So you are trying to add controls to a
collection object that as yet does not exist... Add this line...

set cntrlclctn1 = new collection
--
HTH...

Jim Thomlinson


"ExcelMonkey" wrote:

Wy am I getting Run time error 91 when trying to add controls to my collection.

Public cntrlclctn1 As Collection
Sub thing()
Dim lbl As Control
Dim txtbx As Control

'Create controls
Set lbl = UserForm1.Controls.Add("Forms.Label.1")
lbl.Caption = "Label Text"
Set txtbx = UserForm1.Controls.Add("Forms.TextBox.1")
txtbx.Text = "Text Box Text"

'Add controls to collection
cntrlclctn1.Add (lbl)
cntrlclctn1.Add (txtbx)

UserForm1.Show
End Sub


ExcelMonkey

Run time error 91 when trying to add controls to a collection
 
Was missing the following:

Set cntrlclctn1 = New Collection

Fixed!

Thanks

EM

"ExcelMonkey" wrote:

Wy am I getting Run time error 91 when trying to add controls to my collection.

Public cntrlclctn1 As Collection
Sub thing()
Dim lbl As Control
Dim txtbx As Control

'Create controls
Set lbl = UserForm1.Controls.Add("Forms.Label.1")
lbl.Caption = "Label Text"
Set txtbx = UserForm1.Controls.Add("Forms.TextBox.1")
txtbx.Text = "Text Box Text"

'Add controls to collection
cntrlclctn1.Add (lbl)
cntrlclctn1.Add (txtbx)

UserForm1.Show
End Sub


RB Smissaert

Run time error 91 when trying to add controls to a collection
 
Try this:

Sub thing()

Dim lbl As Control
Dim txtbx As Control

'Create controls
Set lbl = UserForm1.Controls.Add("Forms.Label.1")
lbl.Caption = "Label Text"

Set txtbx = UserForm1.Controls.Add("Forms.TextBox.1")
txtbx.Text = "Text Box Text"
txtbx.Left = lbl.Width + 10

If cntrlclctn1 Is Nothing Then
Set cntrlclctn1 = New Collection
End If

'Add controls to collection
cntrlclctn1.Add lbl
cntrlclctn1.Add txtbx

UserForm1.Show

End Sub


RBS


"ExcelMonkey" wrote in message
...
Wy am I getting Run time error 91 when trying to add controls to my
collection.

Public cntrlclctn1 As Collection
Sub thing()
Dim lbl As Control
Dim txtbx As Control

'Create controls
Set lbl = UserForm1.Controls.Add("Forms.Label.1")
lbl.Caption = "Label Text"
Set txtbx = UserForm1.Controls.Add("Forms.TextBox.1")
txtbx.Text = "Text Box Text"

'Add controls to collection
cntrlclctn1.Add (lbl)
cntrlclctn1.Add (txtbx)

UserForm1.Show
End Sub




All times are GMT +1. The time now is 08:10 PM.

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