Colorear celdas según texto

Hola Dam haber si me puedes ayudar con el siguiente tema:

Haber si me puedes decir los pasos para escribir una macro que me permita colorear las celdas de la columna D según el texto que ponga en las celdas de la columna B.

Muchas gracias

1 respuesta

Respuesta
1

Sigue las Instrucciones para poner la macro en worksheet
1. Abre tu hoja de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
4. Del lado derecho copia la macro

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.DAM
'Primero se identifica la columna que va a activar el evento
'con la siguiente instrucción le decimos, si algo modifica la
'columna B entonces que haga
If Not Intersect(Target, Columns("B")) Is Nothing Then
    'Con esto preguntamos por el dato que capturaste en la
    'celda de la columna "B"
    Select Case Target
        Case "X"
            'Si pusiste una X la pone de rojo
            Cells(Target.Row, "D").Interior.ColorIndex = 3
        Case "Dato"
            'Si pusiste "Dato, entonces la pone de verde
            Cells(Target.Row, "D").Interior.ColorIndex = 4
        Case "NO"
            'Si pusiste "NO" la pone de azul
            Cells(Target.Row, "D").Interior.ColorIndex = 5
    End Select
End If
End Sub

Saludos.DAM
Si es lo que necesitas.

entonces lo que me quedaría sería esto;

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dam
If Not Intersect(Target, Columns("B")) Is Nothing Then
 Select Case Target 
        Case "COMISIONES"
            Cells(Target.Row, "D").Interior.ColorIndex = 3
        Case "REMESAS"
            Cells(Target.Row, "D").Interior.ColorIndex = 4
        Case "NOMINAS"
            Cells(Target.Row, "D").Interior.ColorIndex = 5
        End Select
End If
End Sub

La duda es que si así estuviera bien después como hago para ejecutarla pegándola en donde me dijiste??

Se puede copiar este código vba en la ventana de insertar módulo y después asignar la macro a una forma para que dándole a ella me la ejecute?? Porque he probado así y no me aparece como creada?

Se ejecuta solita, solamente escribe la palabra “COMISIONES” en la columna B y en automático la columna D se pinta de color
Ahora si lo quieres en una imagen, hay que cambiar varias cosas en la macro

Dime qué quieres

Quiero hacerla asignando la macro a una imagen y después con tan solo dar un toque a la imagen que me la ejecute.

Esto lo hago xq al importar archivos en excel de una cuenta bancaria tengo muchísimas filas en las que en la columna B está el concepto y en la D el importe, por eso quiero que al ejecutar la macro se me coloreen todos los importes que tengan el mismo concepto.

Como cada cierto tiempo tengo conceptos nuevos quisiera que para que me funcione la macro con esos conceptos simplemente coger la macro y agregarle los casos nuevos para que me funcione correctamente.

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 Asignar macro / Selecciona: colorear
9. Aceptar.
10. Para ejecutarla dale click a la imagen.

Sub colorear()
'Por.DAM
For i = 1 To Range("B" & Rows.Count).End(xlUp).Row
    Select Case Cells(i, "B")
         Case "COMISIONES"
             Cells(i, "D").Interior.ColorIndex = 3
         Case "REMESAS"
             Cells(i, "D").Interior.ColorIndex = 4
         Case "NOMINAS"
             Cells(i, "D").Interior.ColorIndex = 5
    End Select
Next
End Sub

Saludos.DAM
Si es lo que necesitas.

Dam me va genial pero tengo un problema y es que para que funcione tengo que poner ,en los casos,todo el concepto que me sale en la columna B y me gustaría que me funcionara solo escribiendo la primera o primeras palabras , sin tener que escribir el resto.

Generalmente entrego una solución por pregunta, si la consulta es más complicada o ya no es representativa a la pregunta original; te pido de favor que finalices esta pregunta y crees una nueva pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas