Saltar al contenido

Macro para hs extras


Recommended Posts

publicado

Buenos Dias antes que nada quería agradecer la ayuda , desde ya si les sirve mi planilla la cuelgo , es sobre calculo de hs extras , el motivo de la apertura de este tema es que no logro hacer el ultimo paso , para explicar lo informo en modo de pasos: 1er paso- se cargan las horas en la solapa PLANILLA luego hice la macro copiar y ordenar las cuales me separa según el formato requerido en diferentes solapas 20% 40 % 50 % 100% 100% f.c y 33% , pero luego quiero copiar todas pero solamente la que tienen cantidad a la solapa pasar a bandeja pero no puedo , mi idea es copiar tal cual están repartidas nada mas después agrupar solamente las que tienen cantidad en la solapa pasar a bandeja , que quede tal cual esta en el adjunto , solamente de forma automática , si alguien aporta alguna ayuda se agradece

ej.xls

publicado

Buenas, cibericxp

Si no te he entendido mal, lo que necesitas es pasar a la hoja "pasar a bandeja", todas las filas de cada una de las pestañas (20%, 40%, etc...) que tienen datos en la columna "G". ¿Es así?

Un saludo,

Tese

publicado

Una última preguntilla......

¿La hoja pasar a bandeja estaría vacía o tendría ya datos?

Esto es importante para no sobreescribir datos, etc.... en caso de que ejecutaras el código varias veces teniendo los datos anteriores en las hojas de %.

Un saludo,

Tese

publicado

en si los datos salen de la solapa q dice planilla luego mediante una macro me los pone en diferentes solapas ordenado con el formato q necesito, luego necesito algo para pasar a la solapa pasar a bandeja los de 40% 20% 50% y asi pero solamente los que tengan cantidades si esta en cero o vacio que no los copie , que queden todas ordenadas 1 debajo de la otra. la solapa pasar a bandeja esta vacia

publicado

Prueba incluyendo este código en un módulo y ejecútalo.

Ya me contarás si es lo que necesitas.

Sub bandeja()
Application.ScreenUpdating = False
destino = "pasar a bandeja"
For Each porcen In Worksheets
If porcen.Name = "planilla" Or porcen.Name = destino Then GoTo otra:
For Each dato In porcen.Range("g1:g" & Range("a30000").End(xlUp).Row)
If dato <> "" Then
vacia = Sheets(destino).Range("a30000").End(xlUp).Row + 1
dato.EntireRow.Columns("a:m").Copy
Sheets(destino).Range("a" & vacia).PasteSpecial
End If
Next dato
otra:
Next porcen
Application.CutCopyMode = False
Application.ScreenUpdating = True

MsgBox "Datos pasados", vbInformation, "Fin del proceso"

End Sub
[/CODE]

Un saludo,

Tese

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.