Como llevo un registro de lo pagado en nómina

Para Elsa Matilde / Dante Amor

Tengo esta Macro que me imprime el recibo del trabajador, la cual funciona perfectamente, bien, ahora necesito que en la misma macro, me vaya poniendo en otra hoja que llamé "TOTALSEMANA" lo que cobró cada trabajador, este total se encuentra en "RECIBOS!H41" por lo cual necesito que cada vez que se ejecute esta macro que anexo aquí, la misma me tome el nombre del trabajador que esta en "RECIBOS!A8" y el total cobrado que está en "RECIBOS!H41" y me los coloque en la hoja "TOTALSEMANA" de la manera siguiente; el nombre del trabajador en "TOTALSEMANA!A7" y el total cobrado en "TOTALSEMANA!B7" y así sucesivamente por cuantos trabajadores se impriman.

Gracias de antemano, aquí la macro

Sub IMPRECIBO()
'
' IMPRECIBO Macro
'
'..........x Elsamatilde
'guarda dato del recibo en hoja Sumatoria
'se busca la col de la semana sabiendo que para la 1 es la col 2
colsem = [H1] + 1
'se guarda el nombre del empleado y se define la hoja donde buscar
empleado = [A7]
Set hsum = Sheets("SUMATORIA")
'se busca ese nombre en col A de hoja Sumatoria
Set busco = hsum.Range("A8:A" & hsum.Range("A" & Rows.Count).End(xlUp).Row).Find(empleado, LookIn:=xlValues, lookat:=xlWhole)
'si lo encuentra coloca el valor de B33
If Not busco Is Nothing Then
hsum.Cells(busco.Row, colsem) = [D35]
End If
'libero la variable
Set busco = Nothing
'..................
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
'
Sheets("DATOSSEMANA").Select
Range("A8").Select

End Sub

1 Respuesta

Respuesta
2

Te anexo la macro actualizada

Sub IMPRECIBO()
    '
    ' IMPRECIBO Macro
    '
    '... x Elsamatilde
    'guarda dato del recibo en hoja Sumatoria
    'se busca la col de la semana sabiendo que para la 1 es la col 2
    colsem = [H1] + 1
    'se guarda el nombre del empleado y se define la hoja donde buscar
    empleado = [A7]
    nombre = [A8]
    wtotal = [H41]
    '
    Set hsum = Sheets("SUMATORIA")
    Set h3 = Sheets("TOTALSEMANA")
    'se busca ese nombre en col A de hoja Sumatoria
    Set busco = hsum.Range("A8:A" & hsum.Range("A" & Rows.Count).End(xlUp).Row).Find(empleado, LookIn:=xlValues, lookat:=xlWhole)
    'si lo encuentra coloca el valor de B33
    If Not busco Is Nothing Then
        hsum.Cells(busco.Row, colsem) = [D35]
        u = h3.Range("A" & Rows.Count).End(xlUp).Row + 1
        If u < 7 Then u = 7
        h3.Cells(u, "A") = nombre
        h3.Cells(u, "B") = wtotal
    End If
    'libero la variable
    Set busco = Nothing
    '..................
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    '
    Sheets("DATOSSEMANA").Select
    Range("A8").Select
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Buen día, muchas gracias por haber dedicado su valioso tiempo en esta ayuda, le explico que no me hace lo que requiero... fíjese, en el archivo anexo, estoy en la pestaña "RECIBOS" una vez que yo le doy al botón "IMPRIMIR RECIBO DEL TRABAJADOR" este me lleva a la pestaña "DATOSSEMANA" una vez allí, ya he terminado de procesar los trabajadores, le doy al botón "SALIR" y este me lleva a la pestaña "INICIO" allí le doy al botón "TERMINAR CÁLCULOS DE LA SEMANA" para que el aumente el numero de la semana y grabe los acumulados, es entonces que requiero que el sistema me imprima un reporte con todos los trabajadores que cobraron esa semana, solamente su nombre y la cantidad cobrada que se encuentra en "RECIBOS!H31"

AQUÍ EL ARCHIVO EN CUESTIÓN

https://drive.google.com/open?id=0B7ycquUv_BaQQ296MTAwS05Mb0E

Ya no entendí, lo que requieres va en al macro que pusiste o es una macro nueva que no tiene nada que ver con la macro que pusiste.

No puedo descargar archivos.

Envíame tu archivo y me explicas qué relación tiene la macro que pusiste con lo que requieres.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “jose urbaneja” y el título de esta pregunta.

Estimado, le envíe todo a su correo para que lo verifique, Gracias de antemano

Te anexo la macro actualizada

Sub IMPRECIBO()
    '
    ' IMPRECIBO Macro
    '
    'Act. Por. Dante Amor
    'guarda dato del recibo en hoja Sumatoria
    'se busca la col de la semana sabiendo que para la 1 es la col 2
    colsem = [H1] + 1
    'se guarda el nombre del empleado y se define la hoja donde buscar
    empleado = [A7]
    nombre = [A7]
    wtotal = [H31]
    '
    Set hsum = Sheets("SUMATORIA")
    Set h3 = Sheets("TOTALSEMANA")
    'se busca ese nombre en col A de hoja Sumatoria
    Set busco = hsum.Range("A8:A" & hsum.Range("A" & Rows.Count).End(xlUp).Row).Find(empleado, LookIn:=xlValues, lookat:=xlWhole)
    'si lo encuentra coloca el valor de B33
    If Not busco Is Nothing Then
        hsum.Cells(busco.Row, colsem) = [D35]
    End If
    'libero la variable
    Set busco = Nothing
    '..................
    u = h3.Range("A" & Rows.Count).End(xlUp).Row + 1
    If u < 7 Then u = 7
    h3.Cells(u, "A") = nombre
    h3.Cells(u, "I") = wtotal
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    '
    Sheets("DATOSSEMANA").Select
    Range("A8").Select
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas