Excel - Crear una fila para cada día entre dos fechas

   
Vista:

Crear una fila para cada día entre dos fechas

Publicado por Juan (8 intervenciones) el 17/03/2017 19:30:32
Hola amgos, tengo una duda en Excel y quería saber si me podía ayudar!

Voy a intentar explicar simple: tengo registrado en cada filas ausencias de las personas a la empresa. Esta fila tiene el concepto, Ej. Enfermedad, y tiene la fecha desde que se inicio la enfermedad ej: 01/01/2017 hasta el día que volvió a trabajar. Ej. 03/01/2017. Yo necesito crear una fila con cada día. Es decir, en este caso, quedarían 3 filas que contengas 3 conceptos de enfermedad, una por el 01/01, otra por el 02/01 y otra por el 03/01. Lo que necesitaría es la forma de hacerlo, ya que debo copiar el método para aplicarlo al archivo original que tiene miles de filas.
Adjunto Excel para mejor compresión. Desde ya, muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de wordexperto.com

Crear una fila para cada día entre dos fechas

Publicado por wordexperto.com (1551 intervenciones) el 17/03/2017 20:21:47
Hola Juan:
Es que es así como tienes que introducir los datos. Repitiendo para cada empleado los días de ausencias. La columna día de regreso no te hace falta para nada. Después, usando los filtros y la fila de totales de la tabla o con una tabla dinámica, haces los informes que necesites.
https://wordexperto.com/blog/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear una fila para cada día entre dos fechas

Publicado por Juan (8 intervenciones) el 17/03/2017 20:26:02
Gracias wordexperto, por responder.

El problema es que mi archivo original tiene miles de filas, y no puedo crearlo a mano.

Como bien dices la columna regreso no me interesa demasiado, pero necesito alguna manera de crear una fila para cada día, ya que si lo hago manulamente demoraría semanas ;(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear una fila para cada día entre dos fechas

Publicado por José Luis (43 intervenciones) el 18/03/2017 01:52:32
Hola,

Graba una macro haciendo lo que dices pero en la celda del día le sumas una unidad o sea 1 a la celda anterior

Cuando termines de grabar la macro te vas a dar cuenta que está sencillo lo que pides.

Yo estoy saliendo y me desconecto de cualquier maquina hasta mañana, (si no te han dado una respuesta trataré de hacer la macro en la mañana)

Saludos
José Luis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear una fila para cada día entre dos fechas

Publicado por Juan (8 intervenciones) el 18/03/2017 02:10:49
Amigo, José Luis, mis conocimiento de Excel son básicos/intermedios. Lamentablemente no sé crear Macros!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear una fila para cada día entre dos fechas

Publicado por José Luis (43 intervenciones) el 18/03/2017 16:47:41
Hola,

Te anexo la macro para que en caso de que requieras modificar algo te sea sencillo de hacer.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub Prueba()
    Col_ID_Empleado = "B"
    Col_Fecha_Regreso = "F"
    Col_Fecha_Inicio = "E"
    Row_B = 2
    While Not IsEmpty(Range(Col_ID_Empleado & Row_B).Value)
        For I = (Row_B + 1) To (Row_B + Range(Col_Fecha_Regreso & Row_B).Value - Range(Col_Fecha_Inicio & Row_B).Value)
            Range(Col_ID_Empleado & I).Select
            Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
            Range(Col_ID_Empleado & Row_B & ":" & Col_Fecha_Regreso & Row_B).Select
            Selection.Copy
            Range(Col_ID_Empleado & I).Select
            ActiveSheet.Paste
            Application.CutCopyMode = False
            Range(Col_Fecha_Inicio & I).Select
            ActiveCell.FormulaR1C1 = "=R[-1]C+1"
        Next I
        Row_B = I
    Wend
End Sub

Espero que comentes si te sirvió.

Saludos
José Luis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear una fila para cada día entre dos fechas

Publicado por Juan (8 intervenciones) el 18/03/2017 19:03:16
Muchas gracias amigo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad