Saltar al contenido

Macro para Reporte Dinámico


actNP

Recommended Posts

publicado

Buenos días amigos, espero esten muy bien :congratulatory:

Mi problema es el siguiente: tengo un reporte el cual quisiera optimizar con macros ya que está creado totalmente con formulas, trayendo como consecuencia que el archivo sea muy lento al momento de ejecutar algun filtro o consulta debido a su gran cantidad de información.

En el archivo adjunto coloco un ejemplo de lo que mas o menos quisisera lograr, especificamente en la hoja "Presentacion", acompañado con una pequeña base de datos. Mi objetivo es lograr que al momento de yo cambiar el pais en mi reporte a traves de un combo box, me traiga información a la matriz, sujeto a las condiciones tipo de producto y precio total y cantidad.

De verdad quisiera que todo fuese con código, nada de formulas ni tablas dinamicas.

Agradeciendo de antemano,

Saludos cordiales.

Prueba Informe.rar

publicado

Ya había escuchado eso también, pero es que me dá curiosidad el código que se podría aplicar para ese tipo de informes ya que he investigado en varios foros y de verdad no encuentro un tema donde se haga referencia a este tipo de reportes a través de VBA. La formula SUMAPRODUCTO es muy utilizada en este tipo de informes, al igual que la de BDSUMA, pero quisiera ver si existe alguna manera de programar ese tipo de consultas. :tennis:

publicado

Eso es lo que quisiera evitar hermano:disillusionment:, usar la grabadora de macro, me gustaría ver si hay alguna forma de hacerlo utilizando el lenguaje real del VBA, disculpa si no aclaré desde el comienzo. :confusion:

publicado

Buenas noches,

Con el diseño que presentas, adjunto una alternativa que me gustaría que alguien desarrollara con otros métodos (hasta excel 2007, más allá todavía no puedo ir).

Prueba a ver si te va más rápido.:love-struck:

Saludos,

Juan.

PD: Basta con cambiar el nombre del país y pulsar el botón.

Prueba Informe.rar

publicado

muchas gracias Juan, ESO es lo que estaba buscando, de verdad muchas gracias por la ayuda. Basta con crear un Combo Box y desde la accion Click ejecutar el codigo que almacenaste en el boton.

Un abrazo.

publicado

Gracias Armando! excelente idea la tuya también! Saludos.

No quisiera dar el tema como solucionado aun, tal vez hayan otras formas de buscarle la vuelta a ese tipo de reportes como dijo el amigo Juan, ya que de verdad escasean y son muy practicos para presentar una información. No tanto como una busqueda avanzada sino mas bien como el metodo utilizado por Juan. :eagerness:

Saludos.

  • 3 weeks later...
publicado

Buenos días a tod@s, espero que estén bien,

Quisiera compartir con ustedes otro método para este tipo de reportes o informes que son tan necesarios para presentar información y que son muy dificiles de encontrar por ahí. Después de varios días de romperme la cabeza pude lograr otro metodo sin tener que utilizar un bucle para recorrer la data, sino más bien un filtro avanzado. Este cambio surgió al leer por internet algo relacionado a que los bucles disminuyen el redimiento de las macros, mientras que lo más recomendable son los filtros avanzados.

De todas manera adjunto les dejo mi idea.

Saludos y feliz día.

Prueba Informe (Con F.Avanzados).rar

publicado

Claro que sí amigo Armando, está excelente, pero hay un problema, la idea es que los productos se mantengan siempre visibles en las filas y cuando no tengan información se traiga un cero. Tu idea es más como una lista de los productos disponibles para cada país, en realidad el reporte quisiera que fuese más bien como una matriz sujeta a condiciones fijas en los campos de las columnas y filas.

  • 2 years later...
publicado
En 22/8/2013 at 23:51 , Armando Montes dijo:

Ve este ejemplo donde la parte medular del codigo fue generada por la grabadora y luego depurado y complementado:

PruebaInforme101.rar

@Armando Montes no entiendo esta linea. de donde sale el "LR" 

LR = .Range("B" & Rows.Count).End(xlUp).Row
        .Range("B4:D" & LR).Copy Sheet1.Range("D7")

publicado

lo puedes hacer sin macros usando tablas dinamicas para lo que quieres es mas sencillo y efectivo, generalmente cuando tienes muchas filas en las hojas la maquina se alenta porque todo el tiempo el excel esta actualizando las formulas, una manera de que no se alente es desactivando el calculo  automatico y ponerlo en manual actualizando las formulas con F9, te dejo el link con el ejemplo sin macros.

Prueba Informe.xlsx

  • Silvia bloqueó este tema

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.