Ocultar unas filas concretas de una hoja excel, según el valor de un campo en otra hoja

Doy vueltas a un par de problemas que seguro son una chorrada, pero no doy...

Un libro excel de personas y hoja resumen de facturación correspondiente separada para cada persona.

Desde una Hoja1, a través de una lista de campos de Nombre, y de alta/baja, con valor 0/1, nombro las hojas de cada persona, y muestro/oculto cada hoja de cada persona según valor indicado antes.

Para Nombrar cada hoja de cada persona, uso en cada Hoja

Private Sub Worksheet_Activate()
ActiveSheet.Name = Range("A1").Value
End Sub

A1 se nutre del calculo:

=Hoja1!B2 para la hoja2, =Hoja1!B3 para la hoja3, etc...

Para mostrar/Ocultar las hojas de personas, desde Hoja1 uso:

Private Sub Worksheet_Change(ByVal Target As Range)
Hoja2.Visible = xlSheetVisible
Hoja3.Visible = xlSheetVisible
Hoja4.Visible = xlSheetVisible
If [D2] = "1" Then Hoja2.Visible = xlSheetHidden
If [D3] = "1" Then Hoja3.Visible = xlSheetHidden
If [D4] = "1" Then Hoja4.Visible = xlSheetHidden
End Sub

En otras Hojas de "recogida de datos" 2018", "2019", etc.." de facturación del mismo libro que uso para ir rellenando los datos que después aparecen en cada hoja propia a cada persona (hoja2, etc...) por calculo (buscarv...), tengo también referencia a cada persona de la Hoja1 y ahí meto la facturación mes a mes para cada año o ejercicio..

Es algo como:

Hoja" 2018"

Persona1=B2            Facturacion 

enero                          123456

febrero                       123456

marzo                         123456

etc...

Persona2=B3            Facturacion 

enero                          123456

febrero                       123456

marzo                         123456

etc...

Hoja" 2019" Lo mismo...!

En total son 13 filas, el nombre y titulo + 12 filas de meses, para cada persona en cada hoja de ejercicios. Todas aparecen idénticas en estas hojas.

Quiero poder esconder esas 13 filas de cada persona en cada hoja de ejercicio, 2018 2019 etc, si el campo Dx (alta /baja) de la Hoja1 marca 1, de la misma manera que YA me esconde la hoja que corresponde a esa persona, y así solo poder ver las personas de alta, en cada ejercicio, y así evitar rellenar datos de una persona que es baja.

¿Cómo escondo/muestro unas filas de esas hojas, según el valor de un campo de otra hoja?

De la misma manera, en cada hoja de cada persona, los años y la facturación están separados, por filas agrupadas según ejercicio, y en Hoja1 tengo un campo que indica el año en curso.

¿Cómo puedo, según el valor del año de Hoja1, hacer que la área de impresión cambie a los datos (rango) que corresponde, para no tener que ir cambiando a mano dicha área según año seleccionado?

Añade tu respuesta

Haz clic para o