Como ocultar una fila según el valor de una celda automáticamente sin tener que escribir el valor a ocultar

Quisiera saber como hacer que excel oculte varias files de mi archivo según el valor de la celda de cada fila. Al momento encontré una pregunta en esta sección que me ayudo a hacerlo con la macro:
Sub ocultar()
Range("A33").Select
palabra = InputBox("OCULTAME")
While ActiveCell.Value <> ""
If ActiveCell.Value = palabra Then
ActiveCell.EntireRow.Hidden = True
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Wend
End Sub
Pero para usar esta macro debo introducir el valor "OCULTAME" cuando le doy click a la autoforma, lo que me gustaría saber es como hacer para que la macro se ejecute sin yo tener que introducir el valor "OCULTAME" sino que con solo darle click en la autoforma automáticamente se oculten todas las filas de mi hoja con ese valor.

Nota: solo utilizo el valor de la columna A a partir de la fila 33 porque estoy usando la fórmula IF para mandar a llamar el valor de esas filas en la columna A desde otra hoja del mismo archivo.

2 respuestas

Respuesta
1

A ver intenta Cambiando esta parte:

Palabra=InputBox("OCULTAME")

Por esta

Palabra="OCULTAME"

Muchas gracias cecilio, funciono perfecto y ahora tengo otro par de dudas si estas en disposición de responder:

Veo que la macro no aplica si hay una fila en blanco por ejemplo:
Fila 1

fila2

Fila 3

fila4

¿Hay forma de que la macro aplique a toda la hoja respetando esas filas en blanco que me separan las líneas de comando de mi script? Para que se vea con un poco más de orden

Y la segunda duda es: como puedo agregarle un botón de reset o función de reset a la macro que cuando yo cambie los valores en las celdas me aparezcan de nuevo por ejemplo:

En un proyecto anterior tenia esto Columba A celda 33, valor de la celda "ocultame"

En un proyecto nuevo donde voy a usar la misma macro ahora Culamna A celda 33, valor de celda "derwin duran"

Me pasa que cuando uso la macro por primera vez me oculta las filas eso esta correcto, pero cuando cambio el valor de imputs y la celda que actualmente esta oculta ahora es diferente de "ocultame" tengo que darle unhide manualmente, la macro como tal no me restaura la fila si el valor de la celda cambia, ¿me explique bien?

Respuesta
1

Prueba la siguiente macro, oculta o muestra las filas según el contenido de las celdas.

También revisa todas las filas, si importar si hay filas en blanco.

Sub ocultar_y_mostras()
  Dim i As Long
  Application.ScreenUpdating = False
  ActiveSheet.Rows.Hidden = False
  For i = 33 To Range("A" & Rows.Count).End(3).Row
    Rows(i).Hidden = Range("A" & i).Value = "OCULTAME"
  Next
  Application.ScreenUpdating = True
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas