The macro would not be universal. It would have to be modified for each document, or you could drive it from a more user friendly dialog, but that would be beyond your skill set, given your comments, and beyond the scope of this forum. If you want to discuss that further contact me via my web site.
The code I posted is relatively simple. Basically it uses the PrintIt macro to create a print job, when supplied with page numbers from the main macro PrintToTrays.
The trays are defined as the variables (here two trays defined, changed to reflect your comments, but you can add others)
Code:
Const sLetterhead As String = "PrinterLowerBin"
Const sPlain As String = "PrinterUpperBin"
The process changes the bin for each print job and sends the page numbers to the PrintIt macro - so yes 3-5 would mean pages 3, 4 & 5.