ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   MultiSelect ListBox (https://www.excelbanter.com/excel-programming/317020-multiselect-listbox.html)

StephanieH

MultiSelect ListBox
 
I have a ListBox populated thru code as:
Sub UserForm_Initialize()
With ListBox1
..AddItem "AttyAdec"
..AddItem "2004"
..AddItem "Dialer"
..AddItem "Blank"
End With
ListBox1.ListIndex = 0
End Sub
With my OK Command as follows:
Private Sub OKButton_Click()


Msg = "You selected" & vbCrLf
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
Msg = Msg & ListBox1.List(i) & vbCrLf
End If
Next i
MsgBox Msg


If ListBox1.ListIndex = 0 Then

ChDir "C:\Documents and Settings\A092048\Desktop"
Workbooks.Open Filename:= _
"C:\Documents and Settings\A092048\Desktop\AttyAdec 090304.xls"

End If

If ListBox1.ListIndex = 1 Then

Workbooks.Open Filename:="C:\Documents and
Settings\A092048\Desktop\2004.xls"
End If

If ListBox1.ListIndex = 2 Then

Workbooks.Open Filename:= _
"C:\Documents and Settings\A092048\Desktop\Dialer.xls"
End If

Unload UserForm1
End Sub

My ListBox is set to 1 = fmMultiSelectMulti but when I select more than one
file, only the last file selected will open. Is there something else I need
to change for it to open more than one file at a time?



Dick Kusleika[_4_]

MultiSelect ListBox
 
Stephanie

With a MultiSelect listbox, the ListIndex property will return which row has
the focus. It looks like it's just the last row, because that's the row
you're selecting last and the one that has the focus. You need to use the
Selected property like you do in the first loop.

I would suggest that you make your listbox a two-column listbox, with the
second column width = 0 (hidden) and containing the file you want to open.
Then you could

With Me.ListBox1
For i = 0 to .ListCount - 1
If .Selected(i) Then
Workbooks.Open .Column(1,i)
End If
Next i
End With

For more info on multicolumn, multiselect listboxes, see
http://www.dicks-blog.com/archives/2...elect-listbox/
http://www.dicks-blog.com/archives/2...olumn-listbox/
http://www.dicks-blog.com/archives/2...stboxcombobox/

--
Dick Kusleika
MVP - Excel
Excel Blog - Daily Dose of Excel
www.dicks-blog.com

"StephanieH" wrote in message
...
I have a ListBox populated thru code as:
Sub UserForm_Initialize()
With ListBox1
.AddItem "AttyAdec"
.AddItem "2004"
.AddItem "Dialer"
.AddItem "Blank"
End With
ListBox1.ListIndex = 0
End Sub
With my OK Command as follows:
Private Sub OKButton_Click()


Msg = "You selected" & vbCrLf
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
Msg = Msg & ListBox1.List(i) & vbCrLf
End If
Next i
MsgBox Msg


If ListBox1.ListIndex = 0 Then

ChDir "C:\Documents and Settings\A092048\Desktop"
Workbooks.Open Filename:= _
"C:\Documents and Settings\A092048\Desktop\AttyAdec 090304.xls"

End If

If ListBox1.ListIndex = 1 Then

Workbooks.Open Filename:="C:\Documents and
Settings\A092048\Desktop\2004.xls"
End If

If ListBox1.ListIndex = 2 Then

Workbooks.Open Filename:= _
"C:\Documents and Settings\A092048\Desktop\Dialer.xls"
End If

Unload UserForm1
End Sub

My ListBox is set to 1 = fmMultiSelectMulti but when I select more than

one
file, only the last file selected will open. Is there something else I

need
to change for it to open more than one file at a time?





Dave Peterson[_5_]

MultiSelect ListBox
 
You have a reply in .misc, too.

StephanieH wrote:

I have a ListBox populated thru code as:
Sub UserForm_Initialize()
With ListBox1
.AddItem "AttyAdec"
.AddItem "2004"
.AddItem "Dialer"
.AddItem "Blank"
End With
ListBox1.ListIndex = 0
End Sub
With my OK Command as follows:
Private Sub OKButton_Click()

Msg = "You selected" & vbCrLf
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
Msg = Msg & ListBox1.List(i) & vbCrLf
End If
Next i
MsgBox Msg

If ListBox1.ListIndex = 0 Then

ChDir "C:\Documents and Settings\A092048\Desktop"
Workbooks.Open Filename:= _
"C:\Documents and Settings\A092048\Desktop\AttyAdec 090304.xls"

End If

If ListBox1.ListIndex = 1 Then

Workbooks.Open Filename:="C:\Documents and
Settings\A092048\Desktop\2004.xls"
End If

If ListBox1.ListIndex = 2 Then

Workbooks.Open Filename:= _
"C:\Documents and Settings\A092048\Desktop\Dialer.xls"
End If

Unload UserForm1
End Sub

My ListBox is set to 1 = fmMultiSelectMulti but when I select more than one
file, only the last file selected will open. Is there something else I need
to change for it to open more than one file at a time?


--

Dave Peterson

StephanieH

MultiSelect ListBox
 
Sorry about that. I was thinking since my area of concern seemed to shift, I
should re-enter it under the new topic. I should have known you folks were
better than that and it wasn't necessary. Thanks for your help.

"Dave Peterson" wrote:

You have a reply in .misc, too.

StephanieH wrote:

I have a ListBox populated thru code as:
Sub UserForm_Initialize()
With ListBox1
.AddItem "AttyAdec"
.AddItem "2004"
.AddItem "Dialer"
.AddItem "Blank"
End With
ListBox1.ListIndex = 0
End Sub
With my OK Command as follows:
Private Sub OKButton_Click()

Msg = "You selected" & vbCrLf
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
Msg = Msg & ListBox1.List(i) & vbCrLf
End If
Next i
MsgBox Msg

If ListBox1.ListIndex = 0 Then

ChDir "C:\Documents and Settings\A092048\Desktop"
Workbooks.Open Filename:= _
"C:\Documents and Settings\A092048\Desktop\AttyAdec 090304.xls"

End If

If ListBox1.ListIndex = 1 Then

Workbooks.Open Filename:="C:\Documents and
Settings\A092048\Desktop\2004.xls"
End If

If ListBox1.ListIndex = 2 Then

Workbooks.Open Filename:= _
"C:\Documents and Settings\A092048\Desktop\Dialer.xls"
End If

Unload UserForm1
End Sub

My ListBox is set to 1 = fmMultiSelectMulti but when I select more than one
file, only the last file selected will open. Is there something else I need
to change for it to open more than one file at a time?


--

Dave Peterson


Dave Peterson[_5_]

MultiSelect ListBox
 
If that thought process comes over you ever again, you could go back and post a
followup saying to disregard your post.

(This doesn't happen very nice, but it's nice when it does.)

And if you're not sure which group to post, you could cross post to all (one
message to multiple newsgroups--not several messages to multiple newsgroups).
(But as you've seen, it's rarely necessary.

StephanieH wrote:

Sorry about that. I was thinking since my area of concern seemed to shift, I
should re-enter it under the new topic. I should have known you folks were
better than that and it wasn't necessary. Thanks for your help.

"Dave Peterson" wrote:

You have a reply in .misc, too.

StephanieH wrote:

I have a ListBox populated thru code as:
Sub UserForm_Initialize()
With ListBox1
.AddItem "AttyAdec"
.AddItem "2004"
.AddItem "Dialer"
.AddItem "Blank"
End With
ListBox1.ListIndex = 0
End Sub
With my OK Command as follows:
Private Sub OKButton_Click()

Msg = "You selected" & vbCrLf
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
Msg = Msg & ListBox1.List(i) & vbCrLf
End If
Next i
MsgBox Msg

If ListBox1.ListIndex = 0 Then

ChDir "C:\Documents and Settings\A092048\Desktop"
Workbooks.Open Filename:= _
"C:\Documents and Settings\A092048\Desktop\AttyAdec 090304.xls"

End If

If ListBox1.ListIndex = 1 Then

Workbooks.Open Filename:="C:\Documents and
Settings\A092048\Desktop\2004.xls"
End If

If ListBox1.ListIndex = 2 Then

Workbooks.Open Filename:= _
"C:\Documents and Settings\A092048\Desktop\Dialer.xls"
End If

Unload UserForm1
End Sub

My ListBox is set to 1 = fmMultiSelectMulti but when I select more than one
file, only the last file selected will open. Is there something else I need
to change for it to open more than one file at a time?


--

Dave Peterson


--

Dave Peterson

Dave Peterson[_5_]

MultiSelect ListBox
 
(This doesn't happen very nice, but it's nice when it does.)
should be:
(This doesn't happen very often, but it's nice when it does.)

(stupid fingers!)

Dave Peterson wrote:

If that thought process comes over you ever again, you could go back and post a
followup saying to disregard your post.

(This doesn't happen very nice, but it's nice when it does.)

And if you're not sure which group to post, you could cross post to all (one
message to multiple newsgroups--not several messages to multiple newsgroups).
(But as you've seen, it's rarely necessary.

StephanieH wrote:

Sorry about that. I was thinking since my area of concern seemed to shift, I
should re-enter it under the new topic. I should have known you folks were
better than that and it wasn't necessary. Thanks for your help.

"Dave Peterson" wrote:

You have a reply in .misc, too.

StephanieH wrote:

I have a ListBox populated thru code as:
Sub UserForm_Initialize()
With ListBox1
.AddItem "AttyAdec"
.AddItem "2004"
.AddItem "Dialer"
.AddItem "Blank"
End With
ListBox1.ListIndex = 0
End Sub
With my OK Command as follows:
Private Sub OKButton_Click()

Msg = "You selected" & vbCrLf
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
Msg = Msg & ListBox1.List(i) & vbCrLf
End If
Next i
MsgBox Msg

If ListBox1.ListIndex = 0 Then

ChDir "C:\Documents and Settings\A092048\Desktop"
Workbooks.Open Filename:= _
"C:\Documents and Settings\A092048\Desktop\AttyAdec 090304.xls"

End If

If ListBox1.ListIndex = 1 Then

Workbooks.Open Filename:="C:\Documents and
Settings\A092048\Desktop\2004.xls"
End If

If ListBox1.ListIndex = 2 Then

Workbooks.Open Filename:= _
"C:\Documents and Settings\A092048\Desktop\Dialer.xls"
End If

Unload UserForm1
End Sub

My ListBox is set to 1 = fmMultiSelectMulti but when I select more than one
file, only the last file selected will open. Is there something else I need
to change for it to open more than one file at a time?

--

Dave Peterson


--

Dave Peterson


--

Dave Peterson


All times are GMT +1. The time now is 11:32 PM.

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