thanks for the suggestion but it won't fix it.
changing
List1.itemdata(List1.ListIndex)(i)to List1.itemdata(i)
will not solve the problem. that solution will give what's selected in the listbox, not the index associated with it.

taking the (i) off the end of the list1.itemdata(list1.listindex) statement did get rid of the type mismatch error. the only problem is that the string created is composed of the last index value selected in the listbox (ie. 6,6,6). still need something in there that will keep track of the index values. any suggestions?