Excel - Fichero excel muy lento

   
Vista:

Fichero excel muy lento

Publicado por Raúl (1 intervención) el 19/03/2014 09:13:54
He hecho un programa para cálculo de instalaciones de fontanería, y más o menos iba bien, hasta que decidi darle "mayor funcionalidad", permitiendo que en una hoja, el usuario, al introducir el nombre de la instalación se creara una hoja para la misma. Además introduje protecciones de hojas, para de este modo, evitar que los ususarios, de forma accidental borraran alguna formula de la hoja.
Como consecuencia, no se que ha pasado, y el insertar líneas o borrarlas, se convierte en un auténtico suplicio, llegando a 30 segundos.. y solo es introducir una línea (con vba).
Tengo el fichero acabado, y con un ejercicio, no se si alguna alma caritativa lo puede hechar un vistazo, o bien referirme a algún sitio donde pueda ver algún tipo de documentación que me oriente en cuales son los posibles errores en los que haya caído. Ya estoy desesperado..
En resumen, el programa empieza en la hoja resumen, donde figuran las hojas que componen la instalación. Empiezo con agua fría de ejemplo. Debajo pongo la nueva instalación, y en la casilla Hgeom pongo el dato de la altura, de este modo se genera una nueva hoja con el nombre de la instalación, y que es una copia de la hoja oculta "nueva hoja". Cada vez que escribes una línea, automáticamente se añade otra, y si borras el nombre de la instalación se quita dicha hoja.
En la hoja que sigue, las casillas en blanco son las de entrada de datos.
El problema lo he empezado a notar, en que cuando tengo tres hojas, y tengo 300 filas en cada una, ahora que tengo macros para insertar líneas y borrar líneas, es como si se volviera loco, no se.. y sin embargo cuando lo hacía a pelo con botón derecho insertar o botón derecho borrar, esto no sucedía. La macro la he puesto en un módulo llamando trat_hojas, y lo que hace es leer si en la segunda columna (la de planta) escribo una i para insertar una línea o una s para suprimirla.
No se si con la información que doy es suficiente.. igual es un poco lioso.. Pero es que realmente estoy frustrado, me ha llevado mucho trabajo hacer el programa, y cuando piensas que has terminado ves que se ha relentizado de esta manera..
Por otro lado, me da error de automatización, pero solo con el office 2013, y para "trampearlo" he tenido que poner en range("A1")=0 cada vez que realiza la operación de insertar línea o borrar, y de este modo no me lo da, pero yo creo que no puede ser algo muy "normal".
Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder