Retroceder   Foro Ayuda Excel > Dudas y consultas sobre Excel > Macros y programación VBA
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
LinkBack Herramientas Desplegado
  #1  
Antiguo 21/10/08, 02:43:54
Principiante
 
Usuario desde: oct 2008
Versión de Excel: Excel 2003
Conectado desde: España
Mensajes: 21
Predeterminado colorear celdas en funcion del valor pueto

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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #2  
Antiguo 21/10/08, 08:45:07
Gran participante
 
Usuario desde: sep 2008
Versión de Excel: Excel 2007
Conectado desde: España
Mensajes: 249
Predeterminado

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
Un saludo.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado



La franja horaria es GMT +2. Ahora son las 01:42:16.


© Ayuda Excel

Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

1 2 3 4 5 6 7