Custom Form: Copy from one list box to another

S

StumpedAgain

I am creating a custom form and have two listboxes: source and target. I
want the users to be able to select a product in the source listbox and click
the "Add" button that takes that selection and adds it to the target listbox.
I tried the following to no avail:

Private Sub AddButton_Click()
'Adds whatever is selected in the Source listbox to the Target listbox
With LB_Target
.AddItem LB_Source.Selected '<-Compile Error: Argument not optional
End With

End Sub

Any suggestions/insights?

Thanks.
 
L

Leith Ross

I am creating a custom form and have two listboxes: source and target. I
want the users to be able to select a product in the source listbox and click
the "Add" button that takes that selection and adds it to the target listbox.
I tried the following to no avail:

Private Sub AddButton_Click()
'Adds whatever is selected in the Source listbox to the Target listbox
With LB_Target
.AddItem LB_Source.Selected '<-Compile Error: Argument not optional
End With

End Sub

Any suggestions/insights?

Thanks.

Hello StumpedAgain,

You need to use the current index of the source list box. The Selected
property is used with List Boxes that have the MultiSelect property
set. It takes a index number like this... LB_Source(1). You can then
test it to see if the return value is True or False. Here is what you
need...

Private Sub AddButton_Click()

With LB_Target
.AddItem LB_Source.Value
End With

End Sub

Sincerely,
Leith Ross
 
O

Office_Novice

Somthing like this

Private Sub CommandButton1_Click()
With ListBox1
If .Value <> "" Then
ListBox2.AddItem .Value
End If
End With
End Sub
 
S

StumpedAgain

The If thing didn't work, but I modified to the following to get it to work:

Private Sub AddButton_Click()
'Adds whatever is selected in the Source listbox to the Target listbox
With LB_Target
.AddItem LB_Source.Value
End With

End Sub

Thanks
 
S

StumpedAgain

Another add-on question:

If a user selects the product and adds it, how do I remove it from the
origination listbox so that they can't select it more than once? I tried the
following but however I seem to try it, I can only remove the first entry in
the listbox, not the currently selected entry:

Private Sub AddButton_Click()
'Adds whatever is selected in the Source listbox to the Target listbox
With LB_Target
.AddItem LB_Source.Value
End With

'Removes the selected from the Source list so that it cannot be selected
more than once
With LB_Source
.RemoveItem Selected.Count
End With

End Sub
 
S

StumpedAgain

Thanks! Do you happen to know how to remove the selected item from a
listbox? I can remove the first item (and have done so in multiple ways),
but can't seem to remove whichever is selected using a button. I tried
variations of the following with no result:

With LB_Source
.RemoveItem LB_Source(Selected)
End With
 
S

StumpedAgain

After scouring google, I finally found a solution that deletes the selected
entry in a list box:

Dim i As Long
With LB_Source
For i = 0 To LB_Source.ListCount - 1
If LB_Source.Selected(i) Then
.RemoveItem (i)
End If
Next i
End With
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top