Foro de Ayuda Excel | ||
| Soluciona tus problemas con Excel |
| | |||||||
| Registrarse | Preguntas Frecuentes | Lista de Foreros | Calendario | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
| | LinkBack | Herramientas | Desplegado |
|
#1
| |||
| |||
| hoa, estoy con un, problema de formato condicional, como sabemos soo se pueden poner 3 condiciones, por lo que hay que echar mano de vbba cuando s necesitan mas. el caso es que he he visto un ejemplo de ello con selct case, pero no las colorea sino que colorea la font, y yo quiero colorear la celda, he probado a cambiar el cidigo pero no me sale, el codigo que tengo y colorera la font es este, ¿como hago para cambiar la font, por la celda pra que coloreee la celda Sub colores2() 'recorre el rango A4:E20 de la hoja activa coloreando las celdas según su valor fila1 = 4 fila2 = 20 col1 = 1 col2 = 5 For fila = fila1 To fila2 For columna = col1 To col2 valor = Cells(fila, columna).Value Select Case valor Case Is < 1000 Cells(fila, columna).Font.ColorIndex = 5 'azul Case 1000 To 1499 Cells(fila, columna).Font.ColorIndex = 3 'rojo Case 1500 To 1999 Cells(fila, columna).Font.ColorIndex = 9 'marrón Case 2000 To 2999 Cells(fila, columna).Font.ColorIndex = 7 'fucsia Case Else Cells(fila, columna).Font.ColorIndex = 6 'amarillo End Select Next columna Next fila End Sub gracias anticipadas |
|
#2
| |||
| |||
| Hola orioon Tendrías que cambiar Cells(fila, columna).Font.ColorIndex por: Cells(fila, columna).Interior.ColorIndex Un ejemplo de cómo quedaría el código (un poco más compacto): Código: Sub colores2()
Dim rngCl As Range
Dim intColor As Integer
fila1 = 4
fila2 = 20
col1 = 1
col2 = 5
For Each rngCl In Range(Cells(fila1, col1), Cells(fila2, col2)).Cells
Select Case rngCl
Case Is < 1000
intColor = 5
Case Is < 1500
intColor = 3
Case Is < 2000
intColor = 9
Case Is < 3000
intColor = 7
Case Else
intColor = 6
End Select
rngCl.Interior.ColorIndex = intColor
Next
End Sub |
| Herramientas | |
| Desplegado | |
| |