You may call the print dialog box in the following way
Application.Dialogs(xlDialogPrint).Show
check the help for the list of arguments for this specific dialog box.
for example if you want to preselect the selection, to print X number of
copies, to use collate or not:
application.Dialogs(xlDialogPrint).Show arg12:=True, arg4:=13, arg15:=False
In the above example argument 4 is the number of copies (13), argument 12 is
to preselect "selection" and argument 15 is for collate
hereunder is a copy of the Microsoft help:
xlDialogPrint range_num, from, to, copies, draft, preview,
print_what, color, feed, quality, y_resolution, selection, printer_text,
print_to_file, collate