Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() Hi, I would like to create a user form with two list boxes. The first list box will always contain the same set of values from a worksheet, therefore I can use a With statement in the UserForm_Initialize() sub procedure. This is the easy part. However, what I would really like to do is have the list displayed in the second list box vary depending on the selection made in the first list box. Ie ListBox1 contains "A, B, C, D" etc. If the user selects "A", then ListBox2 will contain "1, 2, 3, 4". However, if the user selects "B", then ListBox2 will actually contain "X, Y, Z". Is this possible? Preferably, I would like the information in ListBox2 to appear as soon as an item is selected in ListBox1. Thanks, Simon -- simonhall ------------------------------------------------------------------------ simonhall's Profile: http://www.excelforum.com/member.php...o&userid=30582 View this thread: http://www.excelforum.com/showthread...hreadid=552106 |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() Hello Simon, Here is a method that uses 1 ListBox and a Label on a User Form. don't think you need a second ListBox if it is only to display data. When using Columns there are 2 properties that control how the data i displayed: BoundColumn and TextColumn. BoundColumn controls whic column is displayed in the ListBox. TextColumn controls which colum data is returned from. Set the TextColumn Property of ListBox1 = 2. There are actually columns of data per line (Row). The user will see only the first colum and the second will be hidden. When the user clicks on a line, th Label's Caption will display the second column of the line selected i ListBox1. Here is the code for the Controls and Events... Code ------------------- Private Sub ListBox1_Click() Label1.Caption = ListBox1.Text End Sub Private Sub UserForm_Activate() With ListBox1 .AddItem .Column(0, 0) = "A" .Column(1, 0) = "1,2,3,4" .AddItem .Column(0, 1) = "B" .Column(1, 1) = "X,Y,Z" End With End Sub ------------------- The .AddItem creates a new Row (Line) in the ListBox. The .Column(c, r places the data in the appropriate Column for that Row. First Row an Column start at zero. Sincerely, Leith Ros -- Leith Ros ----------------------------------------------------------------------- Leith Ross's Profile: http://www.excelforum.com/member.php...fo&userid=1846 View this thread: http://www.excelforum.com/showthread.php?threadid=55210 |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() Hi Leith, I can get something like that to work. Such a simple idea, thanks for filling me in. Simon -- simonhall ------------------------------------------------------------------------ simonhall's Profile: http://www.excelforum.com/member.php...o&userid=30582 View this thread: http://www.excelforum.com/showthread...hreadid=552106 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
userform listbox cannot get listbox.value to transfer back to main sub | Excel Programming | |||
Filling a listbox with transpose of a range from an excel sheet | Excel Programming | |||
Activating userform and filling it with data form row where userform is activate | Excel Programming | |||
Problem with Find filling a listbox vba | Excel Programming | |||
Filling a listbox depending on font index | Excel Programming |