ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Excel VBA-Looping though MultiSelect on ListBox (https://www.excelbanter.com/excel-programming/290080-excel-vba-looping-though-multiselect-listbox.html)

jpendegraft[_3_]

Excel VBA-Looping though MultiSelect on ListBox
 
I am trying to loop a procedure to run for EACH item selected in
ComboBox.

Basically, I want to populate a spreadsheet based with the value in
textbox from a userform that also contains a ComboBox (this wil
isolate the column) and a listbox (this will isolate the multple row
that need to be populated).

Right now, it will properly populate the LAST item selected in th
listbox, rather than ALL items selected.

My current code is as follows:

Private Sub InsertClassDates()
For i = 1 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then _
r = ListBox1.ListIndex + 2
Select Case True
Case ComboBox1.ListIndex = 0: Cells(r, 6) = TextBox1.Value
Case ComboBox1.ListIndex = 1: Cells(r, 7) = TextBox1.Value
Case ComboBox1.ListIndex = 2: Cells(r, 8) = TextBox1.Value
Case ComboBox1.ListIndex = 3: Cells(r, 9) = TextBox1.Value
Case ComboBox1.ListIndex = 4: Cells(r, 10)
TextBox1.Value
End Select
Next i
Unload UserForm1
End Su

--
Message posted from http://www.ExcelForum.com


Tom Ogilvy

Excel VBA-Looping though MultiSelect on ListBox
 
This was answered previously. For an explantion and some cautions, check
the original answer.

Private Sub InsertClassDates()
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
r = i + 2
Select Case True
Case ComboBox1.ListIndex = 0: Cells(r, 6) = TextBox1.Value
Case ComboBox1.ListIndex = 1: Cells(r, 7) = TextBox1.Value
Case ComboBox1.ListIndex = 2: Cells(r, 8) = TextBox1.Value
Case ComboBox1.ListIndex = 3: Cells(r, 9) = TextBox1.Value
Case ComboBox1.ListIndex = 4: Cells(r, 10) = TextBox1.Value
End Select
End if
Next i
Unload UserForm1
End Sub

could also do

Private Sub InsertClassDates()
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
r = i + 2
Cells(r,Combobox1.Listindex + 6).Value = Textbox1.Value
End if
Next i
Unload UserForm1
End Sub


--
Regards,
Tom Ogilvy


"jpendegraft " wrote in message
...
I am trying to loop a procedure to run for EACH item selected in a
ComboBox.

Basically, I want to populate a spreadsheet based with the value in a
textbox from a userform that also contains a ComboBox (this will
isolate the column) and a listbox (this will isolate the multple rows
that need to be populated).

Right now, it will properly populate the LAST item selected in the
listbox, rather than ALL items selected.

My current code is as follows:

Private Sub InsertClassDates()
For i = 1 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then _
r = ListBox1.ListIndex + 2
Select Case True
Case ComboBox1.ListIndex = 0: Cells(r, 6) = TextBox1.Value
Case ComboBox1.ListIndex = 1: Cells(r, 7) = TextBox1.Value
Case ComboBox1.ListIndex = 2: Cells(r, 8) = TextBox1.Value
Case ComboBox1.ListIndex = 3: Cells(r, 9) = TextBox1.Value
Case ComboBox1.ListIndex = 4: Cells(r, 10) =
TextBox1.Value
End Select
Next i
Unload UserForm1
End Sub


---
Message posted from http://www.ExcelForum.com/




jpendegraft[_5_]

Excel VBA-Looping though MultiSelect on ListBox
 
Thanks! Worked perfect

--
Message posted from http://www.ExcelForum.com



All times are GMT +1. The time now is 12:30 PM.

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