Free VB6 / VBA profiler y mejores prácticas de Excel

Tenemos muchos informes que se generan a través de VBA y Excel. Solo un pequeño porcentaje de los informes son cálculos reales: la mayoría del trabajo son llamadas sql y formateo / escritura de celdas. La mayor de las cuales toma varias horas, la mayoría toma alrededor de 20-30 minutos cada una.

El código VBA / Excel se conecta a un dll que usan las aplicaciones de escritorio VB6: aquí se realizan todas las llamadas sql. Si bien estoy seguro de que hay margen de mejora aquí, no es esto lo que me preocupa: las aplicaciones de escritorio son bastante rápidas.

Dos funciones de VBA se utilizan en abundancia: se llaman GetRange y SetupCell y casi siempre aparecen juntas. La función GetRange es un contenedor para el objeto Excel.Range. Se necesita una hoja y 4 valores para la extensión del rango. Su uso principal es elegir la celda para editar. No parece haber muchas posibilidades de cancelarlo, pero ¿es la mejor manera?

Su socio es SetupCell. Esto toma un objeto Excel.Range, texto y una docena de parámetros sobre la celda (fuente, bordes, etc.). La mayoría de estos parámetros son booleanos opcionales pero, de nuevo, parece un desperdicio. Algunos de estos se pueden configurar a título póstumo, pero otros dependen de los valores contenidos en la celda.

Hay bastante código contenido en estas funciones, principalmente si las declaraciones y el trabajo no me agradarán publicarlo.

Supongo que tengo dos preguntas:Hay una mejor manera y qué es y ¿Hay un generador de perfiles gratuito que puedo usar para ver si la mayor parte del tiempo está aquí o en el archivo DLL?

Respuestas a la pregunta(10)

Su respuesta a la pregunta