Macro formato condicional (más de 3 condiciones)

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Macro formato condicional (más de 3 condiciones)

Notapor Portia » 17 Abr 2006 05:48

Hola a todos\as
Soy nueva en este foro, que encuentro muy util.
Hace tiempo vi un mensaje en el que se hablaba de una macro de formato condicional para más de 3 condiciones.
Como no tengo mucha idea sobre macros, me limité a copiar/pegar aquel texto de la macro, pero no me funcionaba, solo admití­a tres.
Creo que alguno de vosotros (¿Ioyama?) adjuntó la solución.
¿Me la podrí­as enviar?? Estarí­a eternamente agradecida.
:wink:
Saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Portia
Miembro Nuevo
Miembro Nuevo
 
Registrado: 17 Abr 2006 05:41
Ubicación: La luna

Re: Macro formato condicional (más de 3 condiciones)

Notapor ferchogz2005 » 17 Abr 2006 14:25

Hola Portia..

Aqui tengo un ejemplo que realice, aunque alli se define condicional por rangos, pero creo que podrias acomodarlo a lo que necesitas..

Me cuentas si te sirvio.


Ferchogz
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
ferchogz2005
Miembro Frecuente
Miembro Frecuente
 
Registrado: 01 Sep 2005 13:33
Ubicación: Bogota

Re: Macro formato condicional (más de 3 condiciones)

Notapor KL » 17 Abr 2006 15:03

Tambien podrias revisar las siguintes conversacion (sobre todo las intervenciones de Hector Miguel):

http://tinyurl.com/m8bxp
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
KL
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Mar 2006 13:57
Ubicación: Madrid

Re: Macro formato condicional (más de 3 condiciones)

Notapor Portia » 17 Abr 2006 17:34

Hola otra vez,

A lo mejor lo que pregunto es muy simple pero ¿como puedo hacer que funcione en toda la hoja de calculo? Supongo que tiene que ver con el rango.

Muchas gracias por la ayuda que habeis enviado!!
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Portia
Miembro Nuevo
Miembro Nuevo
 
Registrado: 17 Abr 2006 05:41
Ubicación: La luna

Re: Macro formato condicional (más de 3 condiciones)

Notapor KL » 17 Abr 2006 17:54

Hola Portia,

Yo que tu no lo hacia :-( Los Formatos Condicionales rallentizan el recalculo de la hoja al ser aplicardos a la hoja entera y ademas son totalmente volatiles por lo que desaprovechan la funcionalidad SmartCalculation de Excel y recalculan cada vez que cambie algo en la hoja.

Pero un codigo VBA de estas caracteristicas es abismalmente mas lento, cosa que combinada con la volatilidad total que tendras que establecer (asignando el codigo al evento Change sin un rango preestablecido) podria hacer tu hoja imposible de usar.

Y del hecho de que nunca dispondrias de la posibilidad de des-hacer ni re-hacer las operaciones ni te hablo - todo esto se borra al ejecutar el codigo y el codigo no parara de ejecutarse hasta que cierres el archivo.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
KL
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Mar 2006 13:57
Ubicación: Madrid

Notapor Portia » 18 Abr 2006 05:42

Claro que lo ralentizaran, pero necesito una hoja muy basica. Algo así­ como si en la celda pone P, que sea azul, si pone E, que sea verde... así­ que me da igual que no se pueda deshacer.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Portia
Miembro Nuevo
Miembro Nuevo
 
Registrado: 17 Abr 2006 05:41
Ubicación: La luna

Re: Macro formato condicional (más de 3 condiciones)

Notapor KL » 18 Abr 2006 06:27

Bueno, tu misma :-)

Suponiendo que los valores se introduciran en las celdas como constantes, o sea no seran devueltos por fomula sino que se escribiran a mano o mediante codigo, prueba poner uno de los siguientes codigos en el modulo VBA de tu hoja:

- si los valores coloreados serian siempre cadenas de texto:

Código: Seleccionar todo
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim celda As Range
    Target.Interior.ColorIndex = xlNone
    On Error GoTo Salida
    For Each celda In Target.SpecialCells(xlCellTypeConstants, xlTextValues)
        Select Case UCase(celda)
        Case "A": celda.Interior.ColorIndex = 1
        Case "B": celda.Interior.ColorIndex = 2
        Case "C", "M": celda.Interior.ColorIndex = 3
        Case "D": celda.Interior.ColorIndex = 4
        Case "E": celda.Interior.ColorIndex = 5
        Case "F": celda.Interior.ColorIndex = 6
        Case "G", "K", "S": celda.Interior.ColorIndex = 7
        Case Else: celda.Interior.ColorIndex = xlNone
        End Select
    Next celda
Salida:
End Sub


- si los valores coloreados serian siempre numeros:

Código: Seleccionar todo
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim celda As Range
    Target.Interior.ColorIndex = xlNone
    On Error GoTo Salida
    For Each celda In Target.SpecialCells(xlCellTypeConstants, xlNumbers)
        Select Case UCase(celda)
        Case 1: celda.Interior.ColorIndex = 1
        Case 2: celda.Interior.ColorIndex = 2
        Case 3, 22: celda.Interior.ColorIndex = 3
        Case 4: celda.Interior.ColorIndex = 4
        Case 5: celda.Interior.ColorIndex = 5
        Case 6, 7, 8: celda.Interior.ColorIndex = 6
        Case 9, 33, 55: celda.Interior.ColorIndex = 7
        Case Else: celda.Interior.ColorIndex = xlNone
        End Select
    Next celda
Salida:
End Sub


- si los valores coloreados podrian ser tanto numeros como texto:

Código: Seleccionar todo
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim celda As Range
    Target.Interior.ColorIndex = xlNone
    On Error GoTo Salida
    For Each celda In Target.SpecialCells(xlCellTypeConstants)
        Select Case UCase(celda)
        Case 1: celda.Interior.ColorIndex = 1
        Case 2: celda.Interior.ColorIndex = 2
        Case 3, "M": celda.Interior.ColorIndex = 3
        Case "D": celda.Interior.ColorIndex = 4
        Case "E": celda.Interior.ColorIndex = 5
        Case "F": celda.Interior.ColorIndex = 6
        Case "G", 9, "S": celda.Interior.ColorIndex = 7
        Case Else: celda.Interior.ColorIndex = xlNone
        End Select
    Next celda
Salida:
End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
KL
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Mar 2006 13:57
Ubicación: Madrid

Notapor Portia » 18 Abr 2006 07:05

Muchí­simas gracias. Cuanta sabidurí­a hay por aqui, y qué bien que la compartais.
Un saludo
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Portia
Miembro Nuevo
Miembro Nuevo
 
Registrado: 17 Abr 2006 05:41
Ubicación: La luna

Formato Condicional Mas De 3 Condiciones

Notapor Fco. Javier » 23 Ago 2006 04:56

Hola estoy intentado realizar un formato condicional en una tabla, en concreto me gustaria meter más de 3 condiciones, creo que se puede hacer con una macro.


1ª condición: que si es mayor que 0 me lo pusiera en Azul
2º condición: que si es menor que 0 me lo pusiera en Rojo
3ª condición: poner con una trama las celdas que estén comprendidas entre unos porcentajes.
4ª y otra condición utilizando residuo(fila();2)

Haber si me podeis ayudar.

Un saludo y Gracias.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Fco. Javier
Miembro Frecuente
Miembro Frecuente
 
Registrado: 16 Feb 2005 08:06

Formato Condicional Mas De 3 Condiciones

Notapor Fco. Javier » 23 Ago 2006 04:56

Hola estoy intentado realizar un formato condicional en una tabla, en concreto me gustaria meter más de 3 condiciones, creo que se puede hacer con una macro.


1ª condición: que si es mayor que 0 me lo pusiera en Azul
2º condición: que si es menor que 0 me lo pusiera en Rojo
3ª condición: poner con una trama las celdas que estén comprendidas entre unos porcentajes.
4ª y otra condición utilizando residuo(fila();2)

Haber si me podeis ayudar.

Un saludo y Gracias.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Fco. Javier
Miembro Frecuente
Miembro Frecuente
 
Registrado: 16 Feb 2005 08:06

Re: Macro formato condicional (más de 3 condiciones)

Notapor sailepaty » 23 Ago 2006 10:37

Hola Francisco,

En tu caso en particular yo lo efectuarí­a de la siguiente manera:

1.- En Formato->Celdas->Numeros->Personalizado y en el cuadro superior derecho escribe esto [Blue]#,##0.00%;[Red]-#,##0.00%

2.- Establezco las otras condiciones en formato condicional.

Espero te ayude.

Saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
sailepaty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 27 Oct 2004 12:31
Ubicación: Dallas, TX

Re: Macro formato condicional (más de 3 condiciones)

Notapor Fco. Javier » 23 Ago 2006 11:36

Gracias por la ayuda.

Un saludo
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Fco. Javier
Miembro Frecuente
Miembro Frecuente
 
Registrado: 16 Feb 2005 08:06


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot], elirico01 y 9 invitados