Ocultar una fila si se cumple una condición en una celda con una función

He buscado previamente si existe una consulta que de respuesta a este problema, pero lo más parecido que he encontrado es una macro que oculta una fila cuando una celda cumple una condición (es igual a un texto, un valor, es mayor o menor que un valor, etc.). Lo que busco es que cuando el resultado de una celda (B4) que contiene una función (=INDICE(Tabla3;COINCIDIR(B3;Tabla3[COD. ID];0);21)) sea "Decr. Act." la fila 16 se oculte, y en caso contrario se oculte la celda 17.

Esta consulta viene porque tengo una hoja que compara indicadores, y con un formato condicional de iconos muestro si es resultado es positivo, negativo o neutro (verde, rojo o amarillo). El indicador a comparar se obtiene con una lista desplegable. Esta comparación puede ser en sentido positivo, o negativo dependiendo del indicador. Ejemplo: Si quiero comparar el gasto de un año con el otro es verde si se reduce, pero si quiero comparar los ingresos de un año con otro es verde si se aumenta.

Como no he encontrado la manera de que el formato condicional se modifique dependiendo del indicador seleccionado, he pensado que tener los dos tipos de comparación a la vez, y que dependiendo de si es un criterio decreciente ("Decr. Act.") se oculte una fila o se muestre la otra.

2 Respuestas

Respuesta
1

Esto te puede aportar algo más

https://youtu.be/IAi8W6uRWJo

Respuesta
1

Ejecuta la siguiente macro

Sub Ocultar_Fila()
'Por.Dante Amor
    '
    Rows("16:17").Hidden = False
    If Range("B4") = "Decr. Act." Then
        Rows(16).Hidden = True
    Else
        Rows(17).Hidden = True
    End If
End Sub

Si quieres que funcione de forma automática, pon la siguiente macro en los eventos de tu hoja

Private Sub Worksheet_Calculate()
'Por.Dante Amor
    '
    Rows("16:17").Hidden = False
    If Range("B4") = "Decr. Act." Then
        Rows(16).Hidden = True
    Else
        Rows(17).Hidden = True
    End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. En el panel del lado derecho copia la macro


.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Aparece el siguiente error:

Error de compilación. No se ha definido Sub o Function.

A parte de eso, ¿seguro que si la celda b4 contiene una función y no un valor escrito va a funcionar correctamente?

¿Cuál macro estás utilizando?

Presiona depurar y dime en qué línea de la macro está en azul o en amarillo

¿Copiaste la macro completa?

Según tus comentarios, el resultado de la función puede ser esto: "Decr. Act.", si es así, seguro que la macro funciona.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas