Fórmula Formato condicionado

Hola,
Supongamos que en la columna A de la hoja 1 introduzco números.
En otra pestania, tengo una lista con dos columnas: en la A tengo una serie de números, y en la B me indican si estos números están "Activos", "Inactivos" o "En reparación".
Para que pueda introducir los números en la hoja 1 es condición necesaria que ese número esté contenido en la pestania 2 y que además esté en "Activo", de lo contrario, la celda se me tendría que colorear con el formato condicionado.
¿Qué fórmula tengo que utilizar? Intento unir SI y CONTAR.SI para que me busque el número en la segunda hoja, pero no se hacer que además busque en la misma fila si el número está activo o no.
Gracias por la ayuda.
Un saludo

1 Respuesta

Respuesta
1
Pero según tú la hoja 1 los valores los pones a mano. Y quieres saber si el valor es activo y demás,¿pero qué quieres hacer poner en la hoja1 los que estén activos sólo?
Hola,
necesito que al introducir los valores en la hoja 1, se me indique si estos están considerados como activos en la otra pestaña.
La idea es que en primer lugar "actives" dicho número para luego poderlo introducir en la hoja 1.
En caso de que el número no esté contenido en la hoja 2 o esté contenido en la hoja 2, pero no este clasificado como "activo", al introducirlo en la hoja 1, se tiene que hacer ver de alguna manera que ese valor no está activo.
Gracias
Yo te lo he puesto para que la celda se pinte, pero eso sí has de darle a un botón todo el rato, esa es la putada, si no has de darle a formato condicional. Si no quieres así probaré otra cosa, no pongas una celda vacía entre los datos que se parará allí.
No se si sabes como poner un botón. Si sabes te pongo el código del botónPrivate Sub CommandButton1_Click()
    Dim existe_dato As Boolean
    Dim fila_inicio As Double
    Dim columna As String
    Dim resultado As String
    columna = "A"
    fila_inicio = 1
    While (CStr(Range(columna + CStr(fila_inicio)) <> ""))
        resultado = BuscarVNuevo(Range("A" + CStr(fila_inicio)), Range("A1:B12"), 2)
        With Range(columna + CStr(fila_inicio))
        Select Case (resultado)
            Case Is = "Activo"
                        .Interior.Color = RGB(0, 255, 0) 'Color verde
                        .Font.Color = RGB(0, 0, 0) 'Color negro
            Case Is = "Inactivo"
                        .Interior.Color = RGB(255, 0, 0) 'Color rojo
                        .Font.Color = RGB(255, 255, 255) 'Color blanco
            Case Is = "En reparacion"
                        .Interior.Color = RGB(128, 128, 128) 'Color gris
                        .Font.Color = RGB(0, 0, 0) 'Color negro
            Case Is = ""
                        .Interior.Color = RGB(0, 0, 0) 'Color negro
                        .Font.Color = RGB(255, 255, 255) 'Color blanco
        End Select
        End With
        fila_inicio = fila_inicio + 1
    Wend
End Sub
BuscarVNuevo es una función que funciona igual que BuscarV, pero si pones un valor que no existe te pone el Activo, inactivo,... del último valor del rango que has escogido. La mía no pone nada, que sería lo lógico. Puedes ponerla debajo del botón.
Public Function BuscarVNuevo(Valor_buscado, matriz_buscar_en As Range, Indicador_columnas) As String
    Dim i As Integer
    Dim j As Integer
    Dim mat As Variant
    BuscarVNuevo = ""
    mat = matriz_buscar_en.Value
    For i = 1 To UBound(mat, 1)
        If (mat(i, 1) = Valor_buscado) Then
            BuscarVNuevo = mat(i, Indicador_columnas)
            Exit For
        End If
    Next i
End Function
Hola,
en primer lugar gracias por la respuesta. Cómo dices lo de tener que dar al botón cada vez que agregas un número es bastante coñazo, ya que puede ocurrir que se te olvide presionar el botón y ese número no esté considerado cómo activo.
Había pensado en dar formato condicional a la columna donde introduzco los números. Y que sólo se coloreen aquellos que no están "activos".
El problema que tengo es que no se plantear la fórmula para que una vez que busque el número, además diga si está "activo" o no.
Espero que me puedas ayudar
Gracias de antemano
Un saludo
Eso es con la función de buscarvnuevo que te he puesto arriba.
Pon el número y la celda de al lado pon la función buscarvnuevo(Celda del dato que buscas, celdas donde están los datos, columna). Ej
Hoja 1
    A
1  a    =BuscarvNuevo(A1;'Hoja2'!A1:B2;2), la columna donde esta el valor que buscas siempre es la 1 
Hoja2
     A B
1 a 1
2 b 2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas