Como puedo poner color a una celda de excel después de bastantes condicionales

Tengo la hoja de excel siguiente en A2 una referencia "A1C1C2B3B4C3C4" en la fila 1 los meses y en la fila 2 los importes

Quisiera saber en una celda nueva lo siguiente si en A2 esta A1 entonces busca en la fila 1 el mes actual y entonces busca en la fila 2 del mes actual, si la celda esta llena pintar la celda rojo si no hay nada pintar la celda verde

2 Respuestas

Respuesta
1

¿Algo así es lo que buscas?, esta macro lee las celdas a1 y a2 las compara en caso de ser iguales busca en los meses el mes actual y colorea el importe que le correspondey esta es la macro

Sub busca_importe()
If Range("a2") = Range("a1") Then
Set meses = Range("a4").CurrentRegion
mes = UCase(MonthName(Month(Date)))
With meses
    fila = WorksheetFunction.Match(mes, .Rows(1), 0)
    .Cells(2, fila).Interior.ColorIndex = 4
End With
End If
End Sub
Respuesta
1

Puedes poner un par de imágenes explicando con un ejemplo lo que tienes y lo que esperas de resultado

te sirve esto si quieres te puedo mandar el archivo por mail

Gracias

Te anexo una macro, para pintar de color la celda D4.

Funciona de esta forma

Si en la celda A4 tienes la referencia "A1" y

Si en la celda B4 tienes un número y

Si en la celda B2 el mes corresponde a al mes actual, entonces

La celda D4 te pone A1 y se pinta de rojo

Pero si el mes no corresponde al mes actual, ¿qué debe poner?

Pero si en la celda B4 no hay un número, ¿qué debe poner?

Pero si en la celda A4 no existe la referencia, ¿qué debe poner?

Sub Pinta_Celda2()
'Por.Dante Amor
    If InStr(1, UCase(Range("A4")), "A1") > 0 Then
        If IsNumeric(Range("B4")) And Range("B4") <> "" Then
            If Month(Range("B2").Value) = Month(Date) Then
                Range("D4").Interior.ColorIndex = 3
                Range("D4") = "A1"
            Else
                Range("D4").Interior.ColorIndex = 4
                Range("D4") = "A1"
            End If
        Else
            Range("D4").Interior.ColorIndex = 4
            Range("D4") = "A1"
        End If
    Else
    End If
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: Pinta_Celda2
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Escribe los comentarios sobre mis dudas, para completar la macro.

Sal u dos

muchas gracias

Pero si el mes no corresponde al mes actual, ¿qué debe poner?

en la fila 2 siempre estan todos los meses

Pero si en la celda B4 no hay un número, ¿qué debe poner?

de color verde

Pero si en la celda A4 no existe la referencia, ¿qué debe poner?

siempre hay referencia

como puedo mandar el archivo?

Saludos

Envíame el archivo con ejemplos

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “mgalls

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas