Colorear celdas según dos cifras

En una hoja Excel tengo 103 columnas activas.

la Columna 1 y 2 contienen números entre 0 y 100, por ejemplo A1 = 45 y B1 = 82.

Lo que necesito es que automáticamente las celdas de la fila A se coloreen en el rango 45 a 82.

Si fuera B1 = 2 B2 = 8 Se colorean las celdas de la fila B de 2 a 8 y así sucesivamente

Como si fuera un diagrama de Gant.

1 Respuesta

Respuesta
1

H   o l a: Ejecuta la siguiente macro:

Sub Colorear()
'Por.Dante Amor
    Cells.Interior.ColorIndex = xlNone
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        If IsNumeric(Cells(i, "A")) And Cells(i, "A") > 0 And _
           IsNumeric(Cells(i, "B")) And Cells(i, "B") > 0 Then
            Range(Cells(i, Cells(i, "A")), Cells(i, Cells(i, "B"))).Interior.ColorIndex = 6
        End If
    Next
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: Colorear
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

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

Muchas gracias, la he probado y da un pequeño error debido a mi mala explicación. Te pido disculpas.

 Te di estas referencias

"" Si fuera B1 = 2 B2 = 8 Se colorean las celdas de la fila B de 2 a 8 y así sucesivamente ""

Y son :

Si fuera A3 = 2 , B3 = 8 Se colorean las celdas de la fila B de D3 a J3 y así sucesivamente

Por ejemplo:

A4 = 16 , B= 30 Se colorean las celdas R16 a AF16

Te anexo la macro actualizada

Sub Colorear()
'Por.Dante Amor
    ActiveSheet.UsedRange.Offset(1, 2).Clear
    For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
        ini = Cells(i, "A")
        fin = Cells(i, "B")
        If IsNumeric(ini) And ini > 0 And IsNumeric(fin) And fin > 0 Then
            With Range(Cells(i, ini + 2), Cells(i, fin + 2))
                .Interior.ColorIndex = 6
                .Borders.LineStyle = xlContinuous
                .Borders(xlInsideVertical).LineStyle = xlNone
            End With
        End If
    Next
End Sub

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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas