Macro Generar Resultado comparando fechas dos hojas

Para Dante Amor

Se tiene un archivo llamado datos.xlsx con la siguiente información:

Hoja1: Columna A con Id: Numérico; Columna B Ingreso: Formato Fecha; Columna C Salida: Formato Fecha

Hoja2: Columna B: Formato Fecha

La macro debe recorrer cada fecha de la columna B de la hoja2 y verificar si está en el rango de cada uno de los registros de las columnas B y C de la hoja 1, es decir, Si la fecha de la hoja2 está en el rango entre Ingreso y salida de la hoja 1, entonces la macro debe generar una hoja llamada "Resultado" con los siguiente datos: Id, Ingreso, Salida, Año y Día, es decir, 5 columnas: Las 3 columnas de la hoja1 y las 2 columnas de la hoja2

Hoja Resultado

2 Respuestas

Respuesta
1

Te anexo la macro

Sub Generar_Resultados()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    Set h3 = Sheets("Resultado")
    '
    h3.Rows("2:" & Rows.Count).Clear
    k = 2
    For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
        For j = 2 To h2.Range("A" & Rows.Count).End(xlUp).Row
            If h2.Cells(j, "B") >= h1.Cells(i, "B") And h2.Cells(j, "B") <= h1.Cells(i, "C") Then
                h1.Range("A" & i & ":C" & i).Copy h3.Cells(k, "A")
                h2.Range("A" & j & ":B" & j).Copy h3.Cells(k, "D")
                k = k + 1
            End If
        Next
    Next
    MsgBox "Fin"
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Respuesta
-1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas