Richard Alejandro Villarroel Gonzalez respondió:

El código está errado. El FOR le falta el TO. Este código te sirve mejor: Sub Imprimir() primera = "B18" ultima = Range("D18").End(xlUp).Offset(0, 2).Address ActiveSheet.PageSetup.PrintArea = primera & ":" & ultima ActiveSheet.PrintPreview End Sub