Como estás ejecutando un comando para imprimir, y usa la impresora por defecto, tal vez cuando estabas probando y funcionó es porque tenías por defecto la impresora en pdf, la solución es poner como impresora por defecto la impresora en pdf, no se que programa uses pero puede ser pdf creador.
Otra solución que uso, si usas excel 2010, que te permite guardar en pdf es ejecutar un comando para que guarde en pdf como el siguiente:
nomfile = "Gráfico Vtas de " & Sheets("Graf_por_dpto").Range("e16").Value & " " & nomsuc
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ diré & "\" & nomfile & ".pdf", Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Aca formo el nombre del archivo, puede ser en tu caso el número de fac que lo puedes sacar de la celda g13 de la hoja factura en tu caso podría ser por ejemplo
nomfile=sheets(""factura").range("g13")
Es la dirección donde deseas guardar, tu eliges yo puse la raíz C
dire= C:\
Luego con el el siguiente comando guardo en pdf, ojo si usas excel 2010 o superior; armando la dirección y nombre de archivo con las variables que ya habíamos armado
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ diré & "\" & nomfile & ".pdf", Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False.
Eso con respecto a imprimir, yo puse guardar factura sin agregar nada y sale un msg box que agregue un articulo o algo por el estilo, no veo el error que dices tienes.
También puese guardar agregando un articulo y a mi no se me bloquea, tal vez tengas falta de memoria ram en tu máquina, excel este fallando, tend´rias que reinstalar o probablemente algún virus en tu pc.