I've mande some changes to the orginal code and tested it... this version should work with no problem
With This.Parent
For I = .lstSelected.ListCount To 1 Step -1
If .lstSelected.Selected(I)
lnItemID = .lstSelected.IndexToItemID(I)
.lstSource.AddListItem(.lstSelected.List(I),lnItemID,1)
.lstSource.AddListItem(.lstSelected.List(I,2),lnItemID,2)
.lstSource.AddListItem(.lstSelected.List(I,3),lnItemID,3)
.lstSelected.RemoveItem(I)
Endif
EndFor
EndWith
The reason i'm going from the bottom of the list to the top is to account for multi select being on
Carl