![]() |
ListBox items disappear upon Show statement
Hello -
I'm using Excel 2000 VBA to programmatically create a userform containing a listbox. I can watch the userform as it is created and filled (via the debugger), but as soon as the show line executes, the listbox entries disappear - other items, such as checkbox labels & buttons appear fine. Can someone tell me how to solve this problem, and more importantly, why it is occuring? I have one other question also: A width property can be set for an item such as a command button however that property is neither seen in the complete_word dropdown list nor in the object browser for the item - it can be seen in the Properties Window, however. Why ?? Thanks in advance, (Please post any replies, as I cannot access the email acct easily). Keb Here is a simplified version of my code: Sub ShowListbox() Dim TempForm Dim NewListBox As MSForms.ListBox Dim i As Integer Application.VBE.MainWindow.Visible = False ' ' Create the userform ' Set TempForm = ThisWorkbook.VBProject.VBComponents.Add(3) TempForm.Properties("Width") = 100 ' ' Add listbox & populate it. ' Set NewListBox = TempForm.Designer.Controls.Add("forms.ListBox.1", , True) For i = 1 To 10 NewListBox.AddItem "Item " & LTrim(Str(i)) Next ' ' Show the form. ' VBA.UserForms.Add(TempForm.Name).Show ' ' Delete the form & clean up. ' ThisWorkbook.VBProject.VBComponents.Remove VBComponent:=TempForm Set TempForm = Nothing Set NewListBox = Nothing End Sub |
ListBox items disappear upon Show statement
My understanding is that when s form is shown its 'design' instance is
destroyed and a run-time instance created. Therefore, when I ran your code in Excel2000 I got the expected results i.e. a visible but unpopulated listbox. Here's an amendment: ' ' Show the form. ' Dim frm As Object Set frm = VBA.UserForms.Add(TempForm.Name) Set NewListBox = frm.ListBox1 For i = 1 To 10 NewListBox.AddItem "Item " & LTrim(Str(i)) Next frm.Show Set frm = Nothing ' ' Delete the form & clean up. ' -- |
ListBox items disappear upon Show statement
Thanks, onedaywhen - Appreciate the explanation and sample (working) code!
Cheers, keb |
All times are GMT +1. The time now is 08:18 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com