Vba para ocultar y desocultar filas

Boyscout_27 Mensajes publicados 18 Fecha de registro   Estado Miembro Última intervención   -  
danielc0 Mensajes publicados 2180 Fecha de registro   Estado Miembro Última intervención   -

Hola,

Me gustaría obtener ayuda para un código VBA que permita ocultar y revelar filas en Excel.

Ver archivo adjunto.

La idea es que para cada sección (Recetas, Gastos y subcategorías de gastos), cuando el usuario haga clic en la flecha hacia abajo:

- se revelen las filas de detalle de la sección, pero solo las filas que no estén en la columna E en cero ni en la columna G en cero.

- se oculte la flecha que apunta hacia abajo.

Y cuando el usuario haga clic en la flecha que apunta hacia arriba:

- se oculten las filas de detalle de la sección

- se oculte la flecha que apunta hacia arriba

- se muestre la flecha que apunta hacia abajo

- se muestre la flecha que apunta hacia arriba

Tengo algunos conceptos de VBA (principiante) pero ahora mismo no sé cómo hacerlo.

2 respuestas

  1. NonoM45 Mensajes publicados 1020 Fecha de registro   Estado Miembro Última intervención   5
     

    Hola Thibault,

    He hecho un borrador para las recetas, solo hará falta hacer lo mismo para lo demás

    https://www.transfernow.net/dl/20260702Mt7AgUg5/dHq5r4Ps

    Saludos

    0
    1. Boyscout_27 Mensajes publicados 18 Fecha de registro   Estado Miembro Última intervención  
       

      Gracias.

      ¿Es posible obtener algunas explicaciones por fragmento de código para que pueda apropiármelo y intentar reproducirlo para el resto?

      0
  2. danielc0 Mensajes publicados 2180 Fecha de registro   Estado Miembro Última intervención   287
     

    Hola,

    Modificando ligeramente la hoja, para simplificar el código VBA

    https://www.swisstransfer.com/d/127480ef-6685-4330-84c7-2cd9f3887591

    Daniel


    0
    1. Boyscout_27 Mensajes publicados 18 Fecha de registro   Estado Miembro Última intervención  
       

      Gracias.

      Haa, eso tampoco está mal. El código parece más sencillo.

      ¿Es posible obtener algunas explicaciones por fragmento de código para que pueda apropiármelo y intentar reproducirlo?

      Quizá una impresión errónea de mi parte, pero tengo la impresión de que si de 0€ pasamos a un monto en la columna G o I... la fila sigue siendo oculta... que VBA no tiene en cuenta que ya hay un monto y que por tanto no debe ocultar la fila.

      ¿No?

      Pregunta tonta... ¿Cómo volver a mostrar una imagen cuando ha sido ocultada por el código VBA?

      0
      1. danielc0 Mensajes publicados 2180 Fecha de registro   Estado Miembro Última intervención   287 > Boyscout_27 Mensajes publicados 18 Fecha de registro   Estado Miembro Última intervención  
         

        He agregado las columnas que contienen las flechas. He corregido (creo) los montos a 0. Verifica.

        Pondré comentarios en el código para explicarlo cuando haya corregido posibles errores.

        No sé cómo hacer visible un objeto de otra forma que no sea por macro. Selecciona la flecha y ejecútalo:

        Sub test() Selection.Visible = True End Sub 

        https://www.swisstransfer.com/d/ea292767-8234-498e-9f22-7302fbc86ba1

        Daniel

        1
      2. Boyscout_27 Mensajes publicados 18 Fecha de registro   Estado Miembro Última intervención   > danielc0 Mensajes publicados 2180 Fecha de registro   Estado Miembro Última intervención  
         

        Gracias, de hecho ha resuelto.

        Voy a intentar reorganizarlo en mi archivo original como lo hiciste, y a incrementar el VBA.

        0
      3. danielc0 Mensajes publicados 2180 Fecha de registro   Estado Miembro Última intervención   287 > Boyscout_27 Mensajes publicados 18 Fecha de registro   Estado Miembro Última intervención  
         

        Presta atención a la posición de las flechas. El ángulo superior izquierdo debe encontrarse en las columnas A, B, D o E y en la misma fila que los datos a mostrar/ocultar (38, 45, 56...).

        Daniel

        0