Tareas en la programación de Excel VBA

Hola, me llamo Miguel y durante el dia de hoy os traigo un nuevo post.

A continuación veremos un programa en Excel VBA que define el color de fondo de tareas programadas el verde y establece el color de fondo de las tareas que se retrasan en rojo.

Localización:

En Sheet1 tenemos tres tareas (X, Y, Z). Un "1" indica que se ha completado una tarea. Se programa una tarea si hay un "1" en cada columna hasta la fecha incluida hoy. Hoy es 6 de junio. Las tareas X e Y están programadas. La tarea Z está retrasada (no hay un "1" en la celda E8).

Tareas en la programación de Excel VBA

Cree un evento de cambio de hoja de trabajo. Excel VBA ejecutará el código agregado al evento de cambio de la hoja de trabajo cuando cambie una celda en una hoja de trabajo.

1. Abra el Editor de Visual Basic.

2. Haga doble clic en Sheet1 en el Explorador de hojas.

3. Elija Hoja de trabajo en la lista desplegable de la izquierda. Elija Cambiar en la lista desplegable de la derecha.

Evento de cambio de hoja de trabajo en Excel VBA

Agregue las siguientes líneas de código al evento de cambio de la hoja de trabajo:

4. Declare dos variables de tipo Integer.

Oscuro me Cómo Entero, j Cómo Entero

5. Agregue un bucle Do While.

Hacer Mientras Celdas (6 + i, 1). Valor ""

yo = yo + 1
Lazo

Explicación: para i = 0, Excel VBA comprueba la tarea X, para i = 1, la tarea Y, etc. Excel VBA deja el ciclo Do While cuando las celdas (6 + i, 1). es vacío (no hay más tareas que comprobar).

Agregue las siguientes líneas de código (en 6, 7 y 8) al ciclo Do While.

6. Inicialice la variable j con el valor 0.

j = 0

7. Establezca el color de fondo de una tarea en verde asumiendo que una tarea está programada (esto no es necesariamente cierto).

Celdas (6 + i, 1). Índice de color interior = 4

8. Agregue otro bucle Do While.

Hacer Mientras Celdas (4, 2 + j). Valor Celdas (6 + i, 2 + j) .Valor = 0 Entonces Celdas (6 + i, 1). Índice de color interior = 3
j = j + 1
Lazo

Nota: La función Fecha devuelve la fecha de hoy.

Explicación: Para i = 0, j = 0, Excel VBA verifica la celda B6. Para i = 0, j = 1, Excel VBA verifica la celda C6, y así sucesivamente. Se programa una tarea si hay un "1" en cada columna hasta la fecha incluida hoy. Si Excel VBA encuentra un "0", establece el color de fondo de la tarea en rojo.

9. Pruebe el programa. Por ejemplo, indique que se ha completado la tarea Z del 6 de junio. Como resultado, la tarea Z se volverá verde automáticamente.

Tareas en el resultado de la programación

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página utiliza Cookies. Más info