View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default add multiple checkboxes to userform at runtime

Put as many checkboxes on the form as you will need in design mode. Then,
when run, when the function determines the number of rows, make the
remaining checkboxes invisible and adjust the height of the userform as you
would do now. This is much simpler and will avoid the problems you are
having.

--
Regards,
Tom Ogilvy

gkelle wrote in message
...
I have a spreadsheet with a list of values in column Y that I want to
show up as checkboxes on a userform. The current code crashes when it
tries to add a caption to the checkbox. I get a runtime error "Could
not find the specified object"
The actual code would call a function to determine how many rows in
column Y which will vary, and I'll add code to size the form and
manipulate the checkboxes to fit.



Private Sub UserForm_Initialize()
Dim iRow As Integer
Dim iLeft As Integer
Dim ctlCheckBox As Control
Dim sName As String
dim iNumRows as integer

Worksheets("ModelList").Activate
iTop = 10
For iRow = 2 To iNumRows
If Cells(iRow, "Y") < "" Then
Set ctlCheckBox =
frmEditBom.Controls.Add("Forms.CheckBox.1", "cb" & iRow)
sName = "cb" & iRow

'I tried using ctlCheckBox sub for sName-same result

frmEditBom! sName.Caption = Cells(iRow, "Y")
frmEditBom!sName.Left = iLeft
frmEditBom!sName.Top = iTop
iTop = iTop + 10
End If
Next iRow
End Sub



------------------------------------------------
~~ Message posted from http://www.ExcelTip.com/
~~ View and post usenet messages directly from http://www.ExcelForum.com/