Saltar al contenido

Ocultar filas de acuerdo a criterio


xdanielhf01

Recommended Posts

publicado

Buenas!, estoy tratando de ocultar determinadas filas de acuerdo a el valor de una celda (S17), con la siguiente formula funciona correctamente:

Sub PROBADNO1()

 Dim celda
 celda = [s17]

 Application.ScreenUpdating = False

 Select Case celda

 Case 25
 Rows("14:38").Hidden = False
 Rows("39:58").Hidden = True
 
 Case 30
 Rows("14:43").Hidden = False
 Rows("44:58").Hidden = True
 Case 35
 Rows("14:48").Hidden = False
 Rows("49:59").Hidden = True
 Case 40
 Rows("14:53").Hidden = False
 Rows("54:58").Hidden = True
 Case 45
 Rows("14:58").Hidden = False
 Case Else
 Cells.Select
 Selection.EntireRow.Hidden = False
 Range("A1").Select
 End Select

 Application.ScreenUpdating = True

End Sub

para que funcione necesito asociarla a un botón, ¿Habría la forma de hacerlo automáticamente sin tener que pulsar el botón?, es decir que yo no escribiré la cantidad (25, 30, 35, 40, 45), sino que eso se hace automático a través de una suma de filas (no habría mi intervención).

gracias de antemano! 

233.png

publicado

Se puede hacer con el evento change de la hoja.

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address = "$S$17" Then
   Select Case Target
    Case 25
      Rows("14:38").Hidden = False
      Rows("39:58").Hidden = True
    Case 30
      Rows("14:43").Hidden = False
      Rows("44:58").Hidden = True
    Case 35
      Rows("14:48").Hidden = False
      Rows("49:59").Hidden = True
    Case 40
      Rows("14:53").Hidden = False
      Rows("54:58").Hidden = True
    Case 45
    Rows("14:58").Hidden = False
    Case Else
      Cells.Select
      Selection.EntireRow.Hidden = False
      Range("A1").Select
   End Select
End If
Application.ScreenUpdating = True
End Sub

Revisa el adjunto.

Libro1.xlsm

publicado

Muchas gracias Antoni por su ayuda, para que funcione lo tengo que poner de manera manual, si me pudieras ayudar en que la macro se ejecute aunque el dato que reciba dependiente a formula, ejemplo estas son las que estoy utilizando :

para contar las filas con datos:

=CONTARA(C14:C58)

para establecer la cantidad de filas:

=SI(Y(T17>=10; T17<25);25;SI(Y(T17>=30;T17<35);30;""))

la idea es que en la hoja solo aparezcan las filas necesarias o las filas que se ocupan, mientras las que quedan en blanco se oculten, así se puede imprimir correctamente la hoja.

muchas gracias Antoni por tu ayuda.

dos.png

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.