try picking up the ID earlier in when you are checking the listbox
If bSelected = True Then
With Worksheets("DATA").Range("Table27") 'Transfer to range
'.Cells.Clear 'Clear transfer range
For lItem = 0 To lRows
If XListBox.selected(lItem) = True Then 'Row selected
'Increment variable for row transfer range
lTransferRow = lTransferRow + 1
iD = iD + 1
'Loop through columns of selected row
For lColLoop = 0 To lCols
'Transfer selected row to relevant row of transfer range
.Cells(lTransferRow, lColLoop + 1) = XListBox.List(lItem, lColLoop)
'Uncheck selected row
XListBox.selected(lItem) = False
Next lColLoop
End If
Next
End With
Unload Me
Else ' NO listbox row chosen
GoTo ErrorHandler
End If
then use the full range
Worksheets("Data").ListObjects("Table27").Resize Worksheets("data").Range("$O$40:$P$" & (i3 + iD))
ps remember to declare ID at the start before it is required
Bookmarks