Foros del Web » Soporte técnico » Ofimática »

Macros en Excel: Impresion de Boletas de Pago

Estas en el tema de Macros en Excel: Impresion de Boletas de Pago en el foro de Ofimática en Foros del Web. Hola amigos, tengo esta macro que imprime una boleta de pago correspondiente a un trabajador, extrae información de la Hoja3 donde hay un listado de ...
  #1 (permalink)  
Antiguo 27/07/2009, 20:42
 
Fecha de Ingreso: julio-2009
Mensajes: 32
Antigüedad: 14 años, 9 meses
Puntos: 0
Pregunta Macros en Excel: Impresion de Boletas de Pago

Hola amigos, tengo esta macro que imprime una boleta de pago correspondiente a un trabajador, extrae información de la Hoja3 donde hay un listado de pagos, nombres de trabajadores y área a la que pertenecen. Lo que quisiera es que me brindarán el código de una macro donde con un solo click en el botón imprima todas las boletas.
La macro funciona así: si deseo imprimir la boleta de un trabajador con código 28, en la celda Codigo de la Hoja1 pongo 27.
El código es el siguiente:

Dim Opc As String
Sub Impre()
'
If Hoja3.Range("Pago_Neto") > 0 Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Hoja1.Range("Codigo") = Hoja1.Range("Codigo") + 1
End If
End Sub
Sub Impresion()
Opc = MsgBox("Desea Generar siguiente recibo", vbInformation + vbYesNo, "Recibos")
If Opc = vbYes Then
Hoja1.Range("Codigo") = Hoja1.Range("Codigo") + 1
Hoja3.Range("Rec_Ubi") = Hoja1.ComboBox1.Text
Application.Goto Reference:="Bas_Semana"
Range("Bas_Semana").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Range("Cri_Recibo"), CopyToRange:=Range("Sal_Recibo"), Unique:=True
Application.Goto Reference:="Codigo"
Opc = MsgBox("Dese Impimir recibo", vbInformation + vbYesNo, "Recibos")
If Opc = vbYes And Hoja3.Range("Pago_Neto") > 0 Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Application.Goto Reference:="Codigo"
ElseIf Hoja3.Range("Pago_Neto") = 0 Then
Opc = MsgBox("Importe Neto CERO... No se puede Imprimir", vbExclamation, "Recibos")
End If
End If
End Sub
  #2 (permalink)  
Antiguo 28/07/2009, 13:04
Colaborador
 
Fecha de Ingreso: agosto-2004
Mensajes: 1.611
Antigüedad: 19 años, 8 meses
Puntos: 47
Respuesta: Macros en Excel: Impresion de Boletas de Pago

Bienvenid@ Christmetal:
Entiendo que tu código abre una hoja con los cálculos de nómina para cada trabajador e imprimes hoja x hoja.
Yo lo haría así;
Haría los cálculos de la nómina y los resultados los pondría en una lista.
En otra hoja tendría el recibo con los espacios preparados para recibir los datos de la nómina.
Con un bucle for-next, que vaya leyendo cada registro (trabajador) de la primera hoja, copias y pegas los datos de nomina en el recibo, imprimes, pasas al siguiente registro, copias y pegas los datos, imprimes;...; hasta que el código encuentre el primer renglón vacio; al leer que está vacío, la macro debe detenerse.
Saludos....
  #3 (permalink)  
Antiguo 10/08/2009, 19:31
 
Fecha de Ingreso: julio-2008
Mensajes: 99
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Macros en Excel: Impresion de Boletas de Pago

Si,

El bucle For, Next te podria funcionar si identificas el valor del ultimo registro y lo incluyes en una variable, por mi parte te recomiendo un Do While, Loop.

Chao.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:38.