Ocultar filas y columnas automáticamente en excel
Tengo una planilla de excel que contiene varios datos que van variando, lo que quiero hacer es ocultar filas y columnas de manera automática, por ahora lo que tengo son las siguientes macros:
Con este oculto las filas:
Sub Oculta_Filas()
ActiveSheet.Rows("7:30").Hidden = False
For f = 7 To 30
If Cells(f, 1).Value = "NO" Then Cells(f, 1).EntireRow.Hidden = True
Next
End Sub
Y con esta macro las columnas:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub ' si la celda que se ha modificado es distinto a la A1 entonces sal de la macro
Dim N As Integer
Columns("D:BW").EntireColumn.Hidden = False 'primero las hago todas visibles
If Range("A1") <> "" Then ' si en la celda A1 hay algo escrito
For N = 4 To 75 ' N va ha valer desde 2 hasta 30
If Cells(4, N) <> Range("a1") Then Cells(4, N).EntireColumn.Hidden = True ' si la celda Fila 2 y columna n es igual a la celda A1 entonces ocultala
Next N
End If
End Sub
Lo que necesito es que de manera automática si algún valor del rango cambia, dejando siempre la celda A1 en SI, se oculte o muestre sin tener que volver a escribir la palabra "SI" y si pudiera hacer lo mismo para ocultar las filas, es decir que siempre que diga "SI" se muestre la fila o se oculte.