Crear una macro que recorre columna "A" y compare fecha en días laborales de la celda "C2" con la celda "E7".

Agradecería ayuda en la construcción de una macro que recorra la columna "A" y que compare la celda "C2" con la celda "E7", y que luego haga la diferencia en días laborales.

1 Respuesta

Respuesta
1

Entra al Editor de macros (con atajo ALT+F11)

Inserta un módulo y allí copia el siguiente código:

Sub diasLab()
'x Elsamatilde
'recorre col A de hoja activa hasta celda sin dato
'fila inicio y fin
x = 2: y = Range("A" & Rows.Count).End(xlUp).Row
'guarda datos del 1er doc
doc = [A2]: ini = [C2]
'recorre el rango
For i = x To y
    'si se trata de otro doc calcula la dif
    If Range("A" & i) <> doc Then
        'guarda fecha del último reg de = doc
        fini = Range("E" & i - 1)
        dif = Application.WorksheetFunction.NetworkDays(ini, fini)
        Range("G" & i - 1) = dif
        'guarda datos del nuevo regisro
        doc = Range("A" & i): ini = Range("C" & i)
    End If
Next i
'coloca último resultado
    fini = Range("E" & i - 1)
    dif = Application.WorksheetFunction.NetworkDays(ini, fini)
    Range("G" & i - 1) = dif
MsgBox "Fin del cálculo"
End Sub

Se puede ejecutar desde el mismo Editor o desde la hoja menú Desarrollador, o con un botón , etc. Este tema lo tengo explicado en la sección MACROS de mi sitio que dejo al pie.

Se trabaja en la hoja activa.

Sdos y no olvides valorar la respuesta si el tema queda resuelto. Sino solicita aclaraciones.

Estimada Elsa... se agradece valiosa respuesta pero al ejecutar la macro, manifiesta un error.

Le puedo enviar el archivo excel. Para eso, agradecería me pueda enviar su correo electrónico.

Atentamente

CARLOS CARRILLO C.

He recreado tu tabla con tus datos y luego desarrollé la macro y la probé. Estando correcta te la envié.

Si manifiesta un error tendrías que habérmelo mostrado... no valorar así a la ligera. Seguramente hay 'particularidades' en tus celdas o datos que no se aprecian en una imagen.

Podés enviarme tu libro explicando cual es el resultado obtenido y cuál es el que debiera ser. Toma cualquier correo de los que aparecen en imagen de la portada de mi sitio.

Pero antes esperaré a que mejores tu valoración.

Sdos!

¡Gracias!

Estimada, ya le envíe el archivo al correo [email protected]

Agradeceré su respuesta.

atte

Carlos carrillo cabezas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas