Macro excel

Ejemplo en la columna A introduzco cualquier numero del 1 al 10 deberá aparecer un color de fondo distinto, pero que en la columna b aparezca el mismo color de fondo sin introducir ningún valor.
Espero me entiendan

1 respuesta

Respuesta
1
No se entiende bien.
Si lo que buscas es que al introducir cualquier dato (mayor que cero)en una celda de la columna "A" cambie el color del fondo y también cambie el color de fondo de la columna "b" en la misma fila; usa el formato condicional de este modo.
1-Selecciona toda la columna "A"
2-En la barra de Menú: Formato/Formato condicional.
3-Condición1:
- Valor de la celda
- Mayor que
- 0 (cero)
4-Click en Formato y das el formato que quieras por ej. Tramas amarillo (sería el color del fondo).
5-Aceptar
Si no quieres que en la primera fila se aplique este formato condicional, selecciona la celda "A1" y ve nuevamente al formato condicional y elimina la condición1, solo se quitará en la celda seleccionada ("A1").
Con la columna
Selecciona solamente la celda "B2" y ve a formato condicional.
Condición1:
- Fórmula
- =A2>0
Click en formato y elige lo que quieras.
Luego aceptas todo y sales del formato condicional.
Selecciona la celda "B2" y arrastra hacia abajo tanto como necesites para que se copie el formato en el resto de las celdas selecciones.
Espero que sea lo que necesitas, de lo contrario me consultas de nuevo.
Si no tienes que volver a preguntar, por favor no olvides finalizar y valorar la respuesta.
Hasta pronto, Hugo Mario.
Perdón no me di a entender, mira cada numero es un color de fondo distinto, por lo tanto no puede ser formato condicional porque me acepta solo tres.
Ejemplo en la columna a1 escribo el numero 1 aparece un color de fondo ahí y automáticamente en la columna b1 sin haber introducido ahí ningún numero que lo tome del ya introducido en la celda a1,
Espero ahora si explicarme bine.
Gracias.
Para probar hacé lo siguiente:
En un libro nuevo y en la primera hoja presiona las teclas ALT+F11 (se Abre VBA)
Copia y pega el código que se muestra más abajo...
(Si no tienes que volver a consultarme por favor no olvides finalizar y valorar la respuesta, hasta la próxima.
Un saludo, Hugo Mario)
Private Sub Worksheet_Change(ByVal Target As Range)
'Este código evaluará el valor de cada celda dentro del rango "A1:A10"
'cada vez que realices un cambio dentro de la "Hoja1"
'y según el valor de cada celda le dará un color de fondo.
'
'
'Ojo, Obviamente podés modificar cada dato de celda todas las veces
'que quieras, pero una vez que aplicas el formato deshabilita la opción
'deshacer.
Dim c
For Each c In Worksheets("Hoja1").Range("A1:A10").Cells
Select Case c
Case 0
c.Interior.ColorIndex = 34
Case 1
c.Interior.ColorIndex = 3
Case 2
c.Interior.ColorIndex = 4
End Select
Next
'Donde dice "Hoja1" debe ir el nombre de la hoja, que es el que figura en la petaña de la hoja.
'En Range("el rango de las celdas que necesites evaluar")
'Case 0, 1, 2, indica que en el caso de que el valor de la celda sea 0,1,2,etc
'c.Interior.ColorIndex = (el número de color)
'Podés agregar tantos Case x como necesites.
'________________________________________
'
'Si además querés establecer color para la letra agregas otra línea por cada Case x
'y cambias Interior por Font así ->(c.Font.ColorIndex = 4)
'________________________________________
'
'No entiendo para qué queres cambiar también la celda de la columna B, se puede hacer
'pero lleva mucho código y no tengo tiempo para tanto. ¡Sorry!
'________________________________________
'
'Para saber que código establecer por color, podrías activar el grabador de macros y
'seleccionas una celda, escribes el color y luego le aplicas el color de fondo,
'después seleccionas otra celda, escribes el nombre del color y aplicas el color de fondo y
'así susesivamente.
'Cuando termines detienes la grabación.
'Despúes doble click sobre el módulo y ves los colores que estableciste.
'
'Para activar el grabador de macros:
'Menú Herramienta/Macro/Grabar nueva macro
'
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas