Excel - Ocultar filas condicionales en varias hojas

Problema

Tengo un archivo de Excel con varias hojas, y todos ellos con las mismas columnas y filas. Necesito ocultar filas específicas en cada hoja (los mismos números de fila para todas las hojas) si el valor es cero en una celda específica.

Entonces, ¿cómo puedo hacerlo en VB y actualizarlo automáticamente al cambiar el valor en la celda especificada anteriormente?

Es decir: tengo 10 hojas para diez empleados y en cada hoja tengo los siguientes datos:

 A1 = Nombre del empleado A2 = Edad, A4 = Salario, B4 = 4000 (todas las cantidades (valores) serán diferentes en cada hoja) A5 = Deducciones, B5 = 500 A6 = Seguro, B6 = 1000 A8 = Salario neto, B8 = 2500 A10 = Pagado por cheque A11 = Pagado por transferencia, B11 = 2500 A13 = Total, B13 = 2500 

Mi requisito es ocultar cada fila que tenga cero en la columna B en todas las 10 hojas. Por supuesto, el valor de todas las hojas se toma de una hoja maestra, por lo que si el valor de las hojas maestras cambia, también se cambiará en las 10 hojas de cada corresponsal.

Nota: No necesito filtrar los valores.

En resumen, quiero escribir una macro para ocultar todas las filas (especificadas) que tienen un cero en la columna B, y aplicarlas en las 10 hojas que tienen las mismas filas y columnas.

Solución

  • Abre el VBE
  • Haga clic en su hoja maestra
  • Pega este código:

 Private Sub Worksheet_Change (ByVal Target As Range) Dim bHide As Boolean If Target.Column 2 Luego salga Sub bHide = True If (CStr (Target) "0") Entonces bHide = False para cada hoja En hojas Si Sheet.Name = ActiveSheet. Nombre y luego Ir a hojas de hoja siguiente (Sheet.Name) .Rows (Target.Row) .Hidden = bHide Next_Sheet: Next End Sub 

Nota

Gracias a rizvisa1 por este consejo en el foro.

Artículo Anterior Artículo Siguiente

Los Mejores Consejos