![]() |
Using For/Next Loop To Generate 4 CommandButtons On A UserForm Results In A Runtime Error 91
Folkes,
My loop generates the buttons Ok but when I try and debug.print a position property of the button I get :- 'Run-time error 91 Object Variable or with block variable not set' I cannot see what is wrong but it must be something to do with the way I am using Set and With within the loops. Can anybody point me in the right direction. Thanks for your help...again! Here's my code:- Option Explicit Option Base 1 Sub delete() Dim TempForm, Capn(), NewCommandButton() As Variant ' UserForm Dim NewCommandButton1 As MSForms.CommandButton ' RC Variant Dim NewCommandButton2 As MSForms.CommandButton ' RV Variant Dim NewCommandButton3 As MSForms.CommandButton ' LC Variant Dim NewCommandButton4 As MSForms.CommandButton ' LV Variant Dim i As Integer, LeftPos As Integer Set TempForm = ThisWorkbook.VBProject.VBComponents.Add(3) 'Create and Postion the Variant Buttons i = 1: Capn = Array("A", "B", "C", "D") NewCommandButton = Array("NewCommandButton1", "NewCommandButton2", "NewCommandButton3", "NewCommandButton4") LeftPos = 15 For i = 1 To UBound(Capn) Set NewCommandButton(i) = TempForm.Designer.Controls.Add("forms.commandbutto n.1") With NewCommandButton(i) .Caption = Capn(i): .Top = 6: .Left = LeftPos: .Width = 25: ..Height = 17 End With LeftPos = LeftPos + 30 Next i Debug.Print NewCommandButton1.Left '********OK Until Here********** End Sub |
Using For/Next Loop To Generate 4 CommandButtons On A UserForm Results In A Runtime Error 91
Donna,
You haven't changed the names of the buttons, so they are still called CommandButton1, etc. -- HTH RP (remove nothere from the email address if mailing direct) "Donna" wrote in message om... Folkes, My loop generates the buttons Ok but when I try and debug.print a position property of the button I get :- 'Run-time error 91 Object Variable or with block variable not set' I cannot see what is wrong but it must be something to do with the way I am using Set and With within the loops. Can anybody point me in the right direction. Thanks for your help...again! Here's my code:- Option Explicit Option Base 1 Sub delete() Dim TempForm, Capn(), NewCommandButton() As Variant ' UserForm Dim NewCommandButton1 As MSForms.CommandButton ' RC Variant Dim NewCommandButton2 As MSForms.CommandButton ' RV Variant Dim NewCommandButton3 As MSForms.CommandButton ' LC Variant Dim NewCommandButton4 As MSForms.CommandButton ' LV Variant Dim i As Integer, LeftPos As Integer Set TempForm = ThisWorkbook.VBProject.VBComponents.Add(3) 'Create and Postion the Variant Buttons i = 1: Capn = Array("A", "B", "C", "D") NewCommandButton = Array("NewCommandButton1", "NewCommandButton2", "NewCommandButton3", "NewCommandButton4") LeftPos = 15 For i = 1 To UBound(Capn) Set NewCommandButton(i) = TempForm.Designer.Controls.Add("forms.commandbutto n.1") With NewCommandButton(i) .Caption = Capn(i): .Top = 6: .Left = LeftPos: .Width = 25: .Height = 17 End With LeftPos = LeftPos + 30 Next i Debug.Print NewCommandButton1.Left '********OK Until Here********** End Sub |
Using For/Next Loop To Generate 4 CommandButtons On A UserForm Results In A Runtime Error 91
Bob,
But should I have to rename them? If I was just generating the one commandbutton without the loop I could then use the debug.print without changing the name so why do I need to now? Donna |
Using For/Next Loop To Generate 4 CommandButtons On A UserForm Results In A Runtime Error 91
Thank you....I have changed to NewCommandButton(1) and all is now
well. donna |
All times are GMT +1. The time now is 05:01 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com