What did you expect this to do?

ElseIf lstPrint.GetSelected(intPrintInput) Then

Since it is an If statement, it has to evaluate to True or False. I would expect that to evaluate to True, but it might not.

I think you want that to just be an Else. After all, the If checks to see whether anything was selected, so to even reach this line, something must be selected. Presumably, you want to move those items across, regardless of which items was selected, though maybe you wanted to check for whether a certain item was selected....