It sounds like you have a ListBox that allows Multiple Selections
and you want to place all selected items in your worksheet beginning at Cell S7.
Is that correct?
If so, much of the looping that you have can be eliminated.
Code:Private Sub cmdApply_Click() Dim cStartCell As Range Dim n As Long, lRow As Long Set cStartCell = Sheets("Data").Range("S7") With Me.lstSelectn For n = 0 To .ListCount - 1 If .Selected(n) Then lRow = lRow + 1 cStartCell(lRow) = .List(n) .Selected(n) = False 'option to clear End If Next n End With End Sub