Saltar al contenido

Fechas De Vacaciones


Recommended Posts

publicado

Hola muchachos como estan, tanto tiempo sin aparecer por estos lados, espero esten todos muy bien, bueno les cuento que el dia de hoy en mi trabajo me pasaron una pranilla con trabajadores y sus respectivas vacaciones.

bueno es un archivo basico con 4 filas A-B-C-D en donde A Tiene el codigo del trabajador B tiene los dias de vacaciones C Inicio De Su Vacacion y D el lamentable fin de sus vacaciones:apologetic: jajajajaj, entonces lo que yo necesito, es hacer una macros que me de todos los dias por ejemplo:

26684 (trabajador) - 5 (Dias De Vacaciones) - 01/05/2012 (inicio) - 05/05/2012 (Fin)

Pero yo quiero que me aparesca en cada celda los dias ejemplo 01-05-2012(A) - 02-05-2012(B) - 03-05-2012© - 04-05-2012 (D) - 05-05-2012(D)

se entiende?????

Saludos

Ulises

Les adjuntare el archivo

Se los agradeceria mucho

Prueba Vacaciones.rar

publicado

Hola Ulises

Creo haber entendido tu consulta. Hoy conocí esta web magnifica por lo que estoy tratando de aprender varias cosas referentes a Macros.

Por lo pronto te ofrezco una solución aplicando fórmulas. Solo te pido que copies para abajo las celdas seleccionadas ya que si te lo mando como debería, superaría el máximo de 165 kb permitidos.

Espero que te sea de utilidad

Saludos.

Ariel.-

Prueba Vacaciones.rar

  • 3 weeks later...
publicado

Buenas,

He creado un pequeño código que puede ayudarte a listar en cada fila los días de vacaciones de cada trabajador.

El único problema es que creo que el cálculo de los días no se corresponde con las fechas inicio y fin , si es que ambas funcionan como comentabas en tu ejemplo al describir tu problema. Es decir, aparece en el primer trabajador 6 días que van desde el día 28/05/2012 hasta 03/06/2012, cuando si contamos ambos nos deberían salir 7 días. Eso no modifica la estructura de la macro, pero sí puede resultar lioso a la hora de trabajar con datos reales.

El código es este:


Sub ver_días()
Dim inicio, final As Date

Application.ScreenUpdating = False

For Each cell In Range("a2:a30000")
If cell = "" Then GoTo Fin:
días = cell.EntireRow.Columns("b").Value
If días = 0 Then GoTo otra:
inicio = cell.EntireRow.Columns("c").Value
cell.EntireRow.Columns("e").Activate
For i = 0 To días
ActiveCell.Offset(0, 1).Activate
ActiveCell = inicio + i
Next i
otra:
Next cell
Fin:
Range("a1").Select
Application.ScreenUpdating = True

End Sub
[/CODE]

Espero que te pueda servir...

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.