Deseo habilitar un botón o icono que al imprimir una factura, me la guarde al mismo tiempo

confeccione una factura en un archivo de excel. Lo que deseo es habilitar un botón o icono que al presionarlo me imprima el documento pero que también me lo guarde en una carpeta. Y que también me cambie el contador colocado en una celda que tiene el archivo, es decir que después de imprimir la factura # 10, cambie a #11 para la próxima factura.

Gracias anticipadas,

MG

1 Respuesta

Respuesta
1

Se tienen que adaptar un par de macros, sería más sencillo si me envías tu archivo y le adapto las macros.

Me dices :

1. En cuál celda va el número de factura.

2. En cuál carpeta se va a guardar

Espero tus comentarios.

mi usuario en todoexpertos es (maximogomez)

Te envié el archivo con las macros

Saludos. DAM
No olvides finalizar la pregunta.

Hola, DAM

primero deseo disculparme por escribir mal tu nombre. Mis sigtes. preguntas son; 1) debo crear una carpeta con el nombre que le pusiste de (Trabajo) en el drive c, 2) como puedo ver las macros que creaste y 3) no puedo cambiar la dirección que le diste del drive c al drive D?

Te comento.

1. Yo puse la carpeta "Trabajo" como ejemplo, tu puedes poner la que quieras. En esta línea de la macro puedes poner la carpeta y el drive que quieras.

Filename:="C:\trabajo\factura" & num & ".xls", _

2. Las macros las ves en VBa, presiona al mismo tiempo las teclas ALT + F11

En el módulo2 verás las macros Imprimir y printprev

Public boton As Boolean
Sub Imprimir()
'Por.DAM
If ActiveSheet.Name = "." Then
    boton = True
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    num = Range("D5")
    ActiveSheet.Copy
    ActiveWorkbook.SaveAs _
        Filename:="C:\trabajo\factura" & num & ".xls", _
        FileFormat:=xlExcel8, _
        Password:="", _
        WriteResPassword:="", _
        ReadOnlyRecommended:=False, _
        CreateBackup:=False
    ActiveWorkbook.Close
    Range("D5") = Range("D5") + 1
End If
boton = False
End Sub
Sub printprev()
'Por.dam
boton = True
ActiveWindow.SelectedSheets.PrintPreview
boton = False
End Sub

Adicionalmente hay otra macro, entra a VBA con ALT + F11 Del lado izquierdo dice: VBAProject, abajo dale doble click a ThisWorkbook y verás esta macro

Private Sub Workbook_BeforePrint(Cancel As Boolean)
'Por.DAM
If ActiveSheet.Name = "." Then
    If boton = False Then
        MsgBox "Solamente se puede imprimir desde botón", _
        vbCritical, "ERROR"
        Cancel = True
    End If
    boton = False
End If
End Sub

3. También en la línea de la carpeta puedes cambiar el drive.

Saludos. DAM
No olvides finalizar la pregunta.

Aunque no sera sino hasta el viernes cuando este en el área de trabajo que probare las macros, deseo agradecerte de antemano por darme tan rapido, algo que busque por tanto tiempo.

Gracias mil,

Att. MG

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas