Macro Excel mostrar u ocultar celdas en un determinado rango

Tengo un inconveniente al crear una macro en excel, la situación es la siguiente:

Situación 1

Tengo las siguientes filas ocultas de la 10 a la 20, quiero crear una macro e insertarla en un botón denominado (INSERTAR CELDA), al hacer click en el botón me muestre la fila 10, si hago nuevamente click me muestre la fila 11 y si hago click nuevamente me muestre la fila 12 y asi sucesivamente, y cuando ya haya descubierto (mostrado) la fila 20 ya no haga nada.

Situación 2

Dentro de las filas ocultas de la 10 a la 20, crear una macro e insertarla en un botón denominado (ELIMINAR CELDA) al hacer click en el botón me oculte la ultima celda mostrada dentro de este rango, me explico, si ya mostré la fila 18 (en teoría seria ultima celda mostrada dentro del rango) y hago click en botón de (ELIMINAR CELDA) me oculte la fila 18; otro ejemplo, si la ultima fila mostrada en el rango es la fila 11, al hacer click en el boton (ELIMINAR CELDA) me oculte la fila 11 y así sucesivamente.

Las macros solo funcionarían dentro los rangos de filas ocultas mencionadas de la fila 10 a la fila 20.

Respuesta

Esto solicita un password para mostrar las filas ocultas si ingresas clave correcta se muestran las filas durante unos segundos y se vuelven a ocultar adapta y tendrás la solución que requieres

https://youtu.be/GsEU-yDUJwI

https://youtu.be/9dVMlnSM3d4 

https://youtu.be/jOaqaF6KIsM

https://youtu.be/IAi8W6uRWJo

https://youtu.be/qmPjkMNQvNc

1 respuesta más de otro experto

Respuesta

No mencionas si vas a usar el botón a través de un formulario o de un botón en la hoja te paso las macros para que tu las anexes al botón, la primera cada que presiones el botón ira haciendo visible la fila partiendo de la A10 antes del 10 y después del 20 la macro no te dejara hacer nada, la segunda dependiendo de la celda donde te encuentres en el rango 10 a 20 ocultara la fila

Sub mostrar_filas()
Visible = Range("a10").EntireRow.Hidden
fila = ActiveCell.Row > 20 Or ActiveCell.Row < 10
If fila = True Then End
If Visible Then
    Range("a10").Select
End If
With ActiveCell
    .EntireRow.Hidden = fila
    .Offset(1, 0).Select
End With
End Sub
Sub ocultar()
ActiveCell.EntireRow.Hidden = ActiveCell.Row < 21 And ActiveCell.Row > 9
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas