Formato Condicional en VB

Estimados, necesito su ayuda. Resulta que tengo una hoja donde tengo que llenar unas celdas con los siguientes valores:
1. Insignificante
2. Bajo
3. Moderado
4. Alto
5. Muy Alto
Estos valores se ingresas por medio de una lista de datos. Para cada uno de los valores seleccionados en la lista necesito que la celda tome un color por ejemplo si es "1. Insignificante" se ponga verde, si es "2. Bajo" se ponga amarillo.. Y así hasta llegar a la última opción y se ponga de color rojo.
He utilizado el siguiente script (detallado abajo), pero cuando comienzo a cambiar las celdas no me sucede absolutamente nada, el script solo lo comencé a digitar; no se si tengo que crear una macro y hacer otros pasos adicionales... ¿me ayudan?
Estas condiciones las requiero para un rango de celdas según se puede visualizar en el script...
Gracias de antemano
El script utilizado es:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Relcell = Range("F15:O41")
If Not Application.Intersect(Relcell, Range(Target.Address(False, False))) Is Nothing Then
Application.EnableEvents = False
Select Case (Trim(Target.Value))
Case "1. Insignificant"
Target.Interior.ColorIndex = 43
Case "2. Low"
Target.Interior.ColorIndex = 6
Case "3. Medium"
Target.Interior.ColorIndex = 2
Case "4. High"
Target.Interior.ColorIndex = 49407
Case "5. Very High"
Target.Interior.ColorIndex = 255
Case Else
Target.Interior.ColorIndex = xlNone
End Select
Application.EnableEvents = True
End If
End Sub

1 respuesta

Respuesta
1
Inicialmente lo único que veo "raro" es que lo que estás poniendo como valores está en Español y la comparación en el código VBA la haces en Inglés (por lo cual nunca te va a dar una condición del Case Válida
Saludos y si no se soluciona con eso avisa
gfellay
Perdón, la escala si es en Ingles. Lo que pasa es que al estar redactando la pregunta deje la escala en español.. pero es en Ingles... tal y como está en el script...
¿Me puedes ayudar?
Pues yo lo probé y me funcionó sin problemas, lo que te recomiendo es que te pares con el cursor en la instrucción
Private Sub Worksheet_Change(ByVal Target As Range)
y una vez allí presiona F9 (debería quedar la instrucción pintada de otro color), luego vas a la planilla excel y cambias alguna celda; debería quedar parado en la intrucción que marcaste antes, luego presionas F8 repetidas veces y vas siguiendo el código instrucción por instrucción, de esta forma te podés dar cuenta que es lo que está haciendo mal (por ejemplo ver si entra en el Case que debería entrar)
Ojo con el caso 4, el ColorIndex 49407 te dará error
Muchas gracias,
Ya lo probé y si me funcionó, ya lo tengo trabajando. Felicidades por el esfuerzo y el tiempo que dedican.
Bendiciones

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas