ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   filling userform listbox (https://www.excelbanter.com/excel-programming/364328-filling-userform-listbox.html)

simonhall[_4_]

filling userform listbox
 

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


Leith Ross[_574_]

filling userform listbox
 

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


simonhall[_5_]

filling userform listbox
 

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



All times are GMT +1. The time now is 09:14 AM.

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