Empezaremos con las líneas de código para seleccionar el rango y algunas otras para empezar a desarrollar nuestro diagrama de Gantt.
Dim fila As Double
fila = Range("D9").End(xlDown).Row
En el Diagrama de Gantt usamos Min y H5+1, para obtener la fecha mínima e ir aumentando un día
La función MIN tiene concatenada la variable fila. Esto nos permite obtener la referencia de un rango dinámico.
Range("H5").Formula = "=MIN(D9:D" & fila & ")"
Range("I5").FormulaR1C1 = "=RC[-1]+1"
'Debug.Print abre la ventana de inmediato.
Al Presionar F5 en la ventana de “inmediato” se muestran los valores asignados a las variables.
With nos permite abreviar el código para no tener que repetir Range("I5") una y otra vez.
With Range("I5")
.AutoFill Range("I5:DY5"), xlFillDefault (esta instrucción equivale a aplicar la fórmula escrita en una celda a un rango del celdas adyacentes)
.Select
End With
With Range("H5:DY5")
.ColumnWidth = 3.5
.Select
.Font.ThemeColor = xlThemeColorDark1
*control + barra espaciadora muestra los nombres de variables, métodos, propiedades y constantes que podemos utilizar en nuestras macros
.font.tintandshade = 0
End with
Ya dimos formato de color y fuente, así como el tamaño estandarizado. Usaremos. LEFT equivale a IZQUIERDA, UPPER a MAYUSC y TEXT a Texto
Range("H6").FormulaR1C1 = "=LEFT(UPPER(TEXT(R[-1]C,""mmmm"")),3)"
Range("H7").FormulaR1C1 = "=LEFT(UPPER(TEXT(R[-2]C,""dddd"")),3)"
Range("H8").FormulaR1C1 = "=TEXT(R[-3]C,""dd"")"
With Range("H6:H8")
.Select
.AutoFill Range("H6:DY8"), xlFillDefault
End With
With Range("H9:DY" & fila)
.Select
.FormulaR1C1 = "=R5C"
.Font.ThemeColor = xlThemeColorDark1
.Font.TintAndShade = 0
End With
Hasta aquí todo ha sido desarrollado con código duro. Lo siguiente será haciendo uso de la grabadora de Macros.
Desde el menú programador seleccionamos la opción de grabar Macro.
Nombramos la macro(en este caso la llamaremos Formato) y le damos aceptar para que empiece a grabar.
Vamos a los detalles finales a nuestro Diagrama. (Formato Condicional y Bordes)
Menú inicio-->formato condicional -->Reglas para resaltar celdas -->Entre.
Seleccionamos fecha de inicio y fin del proyecto y quitamos el símbolo de $ (Fijar Celdas) de la fila para que podamos copiar hacia abajo dejando fija solo la columna para que al copiar a la derecha no se mueva de esas 2 columnas y le damos formato personalizado.
Vamos a elegir el mismo color de Fuente y Relleno Verde Fosforiloco del Diagrama de Gantt
Control+[1] -->Formato a las celdas.
Para concluir, detenemos la grabación. Dentro de VBA llamamos a la Macro "Formato", justo debajo del ultimo END WITH de la Macro Crear_Diagrama_De_Gantt
Para verificar que funciona, desde Excel (barra de menú, inicio, borrar, borrar todo).
Listo! Para correr la macro no lo haremos de la manera convencional, crearemos un nuevo menú.
Menú Personalizado
Nos vamos a Archivo-----> Opciones-----> Personalizar cinta de opciones-----> Nueva pestaña que nombraremos Nivel Pro Excel ---> seleccionas la pestaña de nuevo grupo “MACROS DESARROLLO”.
Añades un nuevo botón.
-->Del lado izquierdo “COMANDOS MAS UTILIZADOS” y seleccionamos Macros --> “Crear_diagrama_de_Gantt”
Si lo deseas, puedes elegir un icono (en este caso usamos un puerquito), -->Aceptar y regresas a Excel, le das clic y así creas el Diagrama de Gantt.
PD. Al momento de guardar, no olvides seleccionar la opción de "Habilitado para Macros".