Usar más de 3 condicionesl en excel 2003

Hola:
Tengo una hoja excel en la cual necesito que varias celdas al meter el valor I, se coloree el borde izquierdo en rojo grueso. Al meter el valor L, se coloree el borde izquierdo y el inferior en rojo grueso. Al meter el valor U, se coloree el borde izquierdo, el inferior y el derecho en rojo grueso. Y por último al meter el valor O, se coloreen los cuatro bordes en rojo grueso. Sólo me permite tres reglas, por eso pido ayuda para añadir una cuarta.
Gracias

1 respuesta

Respuesta
1
He hecho lo que he podido pero ahí va. No se puede hacer con una función, se ha de hacer con una sub. Te lo he puesto con un botón. No he puesto para quitar el borde con otro botón, no se si lo quieres también. Si eso ya me dices.
El botón
Private Sub CommandButton1_Click()
    Dim celdas_bordes As String
    Dim celda_letra
    celda_letra = InputBox("Que celda contiene la letra")
    celdas_bordes = InputBox("Que celdas quieres cambiar el borde, para mas de una separar celdas por comas")
    Call bordes_letra(Range(celdas_bordes), Range(celda_letra))
End Sub
LA SUB
Public Sub bordes_letra(celda_bordes As Range, celda_letra As Range)
    Select Case (celda_letra.Value)
        Case "I", "i"
            With celda_bordes.Borders(xlEdgeLeft)
                .Color = RGB(255, 0, 0) 'COLOR ROJO
                .LineStyle = XlLineStyle.xlContinuous 'LINEA CONTINUA
                .Weight = xlThick 'LINEA GORDA
            End With
        Case "L", "l"
            With celda_bordes.Borders(xlEdgeLeft)
                .Color = RGB(255, 0, 0)
                .LineStyle = XlLineStyle.xlContinuous
                .Weight = xlThick
            End With
            With celda_bordes.Borders(xlEdgeBottom)
                .Color = RGB(255, 0, 0)
                .LineStyle = XlLineStyle.xlContinuous
                .Weight = xlThick
            End With
        Case "U", "u"
            With celda_bordes.Borders(xlEdgeLeft)
                .Color = RGB(255, 0, 0)
                .LineStyle = XlLineStyle.xlContinuous
                .Weight = xlThick
            End With
            With celda_bordes.Borders(xlEdgeBottom)
                .Color = RGB(255, 0, 0)
                .LineStyle = XlLineStyle.xlContinuous
                .Weight = xlThick
            End With
            With celda_bordes.Borders(xlEdgeRight)
                .Color = RGB(255, 0, 0)
                .LineStyle = XlLineStyle.xlContinuous
                .Weight = xlThick
            End With
        Case "O", "o"
            With celda_bordes.Borders(xlEdgeLeft)
                .Color = RGB(255, 0, 0)
                .LineStyle = XlLineStyle.xlContinuous
                .Weight = xlThick
            End With
            With celda_bordes.Borders(xlEdgeBottom)
                .Color = RGB(255, 0, 0)
                .LineStyle = XlLineStyle.xlContinuous
                .Weight = xlThick
            End With
            With celda_bordes.Borders(xlEdgeRight)
                .Color = RGB(255, 0, 0)
                .LineStyle = XlLineStyle.xlContinuous
                .Weight = xlThick
            End With
            With celda_bordes.Borders(xlEdgeTop)
                .Color = RGB(255, 0, 0)
                .LineStyle = XlLineStyle.xlContinuous
                .Weight = xlThick
            End With
    End Select
End Sub
Hola:
Supongo que habrá que usar VBA, y no tengo ni idea. ¿Podrías hacerme un totorial como ejemplo de mi hoja, paso a paso?. Te lo agradecería eternamente.
Gracias
Atento, no te pierdas.
Has de crear un módulo y meter la fórmula dentro. Si no, no te la va a encontrar.
Suponiendo que no sabes hacer esto. Te explico.
Para crear el módulo, haz lo siguiente.
1 - Aprieta el círculo con el icono del office, lo más arriba a la izquierda.
2 - Le das a opciones de Excel, abajo a la derecha.
3 - Te sale un cuadro de diálogo, está señalado de color naranja Más frecuentes. Señala Personalizar
4 - En la primera lista, arriba te pone Comandos más utilizados. Abre la lista y señala Ficha Programador
5 - Busca Visual Basic y apretás al botón agregar y le das a aceptar
6 - Busca otro botón que pone Insertar controles, lo agregas también.
PARA METER LA SUB
7 - En la barra de tareas que crea office por defecto te saldrá el botón del Visual Basic que has agregado antes.
Por defecto la barra está arriba del todo.
8 - Aprietas el botón de visual Basic.
9 - A la izquierda verás que pone Proyecto - VBAProject y debajo Propiedades - Hoja1
10 - En la parte de Proyecto - VBAProject.
Arriba del todo pone VBAProject(Nombre del libro que usas). A mi me pone VBAProject(Libro1.xlsm)
En esa parte aprietas botón derecho - Insertar - >Módulo. En tu caso si quieres no hace falta, podrías ponerlo en la hoja donde quieres que esté el botón, sería la Hoja1, Hoja2, Hoja3, por defecto. Si pones un módulo, continua leyendo.
10 - Se te crea una carpeta llamada Módulos y un archivo llamado Módulo1. Haces click en el Módulo1
11 - Pegas la sub de arriba aquí, debajo de Option Explicit, el option este da igual, pasa de él
Si has apretado una de las hojas, copia la sub de arriba
PARA CREAR EL BOTÓN
1 - Aprietas el botón de insertar controles, te vas a Controles ActiveX, el de abajo, y aprietas el 1o que pone botón de comando.
2 - Te saldrá que la flecha del mouse ahora es una cruz, con esto has de indicar el tamaño del botón. Apretás el mouse, te saldrá un rectángulo sin rellenar, le das la forma que quieres y sueltas el mouse. Ya has creado el botón, te pondrá CommandButton1.
3 - Haz doble click en el botón. Se meterá dentro del editor de visual basic y te pondrá
Private Sub CommandButton1_Click()
<-----
End Sub
Si has puesto la sub dentro de la misma hoja que el botón te saldrá el private sub command... debajo de la sub.
4 - Lo que sustituye la flecha es lo que hay entre dim celdas y call bordes_letra de arriba del todo donde pongo EL BOTÓN. También puedes substituir el private sub y end sub sin nada por lo que he puesto arriba.
Si quieres cambiar la etiqueta del botón por otra cosa, a la izquierda pone Propiedades buscas CommandButton1, buscas la propiedad Caption, la 6a, pone CommandButton1 por defecto, le pones lo que quieras y ya está.
Si quitas Microsoft Visual Basic sin querer, le das al botón de Visual Basic, o de das a ALT+F11, que te he explicado antes como se pone, le das click, apretás la hoja donde tenías el botón y te sale la sub y el botón.
Ya lo tengo claro, tan sólo faltaría añadir otro botón para quitar el borde. ¿Me puedes decir cómo?. Por cierto, ¿puedo elegir in rango de celdas, ejemplo A1:B4, para los casos, o he de ir separando celda por celda por una coma?.
Espero tu ayuda.
Gracias
Una pregunta más, he intentado poner cuando me dice "qué celda contiene la letra" varias celdas, con letras variadas, pero el resultado siempre es el de la primera celda que pido. ¿Se puede hacer esto?, ¿Pedir el resultado de varias celdas con las letras variadas?.
Gracias una vez más
Si quieres hacer varias letras con varias celdas, para hacerlo sencillo te pondría poner una función con 4 rangos, 1 por cada letra. Pero claro los rangos de las variables los tendrías que poner a mano con el inputbox y daría igual que pusieras A1:B33, C2, mientras lo separes con comas. En todo caso serían 4 inputbox, 1 por cada letra.
¿Lo hago?
Si, por favor, hazlo. Recuerda que quiero quiero que al activar el botón y meter los rangos correspondientes en el inputbox, se coloren varias celdas dependiendo de la letra que contengan, o sea ¿se pueden colorear las celdas que contienen la letra, o tienen que ser otras?
Acuérdate de que quiero borrar también los bordes después para si cambio las letras cambien los bordes.
Saludos
No, lo que haría es hacer 1 rango de filas por cada letra, así que cada letra tendría su rango, lo que no puedes hacer es que si la I tiene el Rango1 y la L tiene el rango2, no puedes decir, por ejemplo, pues ahora quiero que la letra I tenga el Rango2 y la L tenga el Rango1, eso no lo puedes hacer porque escribes los rangos a mano, tendrías que sobreescribir los rangos
Bueno, pues entonces haz lo que tenías pensado y ya terminamos, si puede ser.
Hola antares18, no sé si te has olvidado de mi, o es que estás muy ocupado con otros temas. Espero ansiosamente tu ayuda.
Gracias
Dame tu dirección que te paso el libro. Mi dirección es [email protected]
He hecho una función y un botón, has de darle a la función y luego apretar el botón, si apretás el botón primero no sale nada.
O si quieres te paso las funciones por aquí.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas