with visual sheets for ejemplos code applications excel vba excel-vba

visual - La aplicación Excel VBA se detiene espontáneamente con el mensaje "La ejecución del código se ha detenido"



visual basic for applications (11)

Según lo que puedo ver en la web, esta es una queja bastante común, pero las respuestas parecen ser más raras. El problema es este:

Tenemos varias aplicaciones Excel VBA que funcionan perfectamente en varias máquinas de usuarios. Sin embargo, en una máquina se detienen en ciertas líneas de código. Siempre son las mismas líneas, pero esas líneas parecen no tener nada en común entre sí.

Si presiona F5 (ejecutar) después del alto, la aplicación continúa, por lo que es casi como si se hubiera agregado un punto de interrupción. Hemos intentado seleccionar ''eliminar todos los saltos'' del menú e incluso agregar un descanso y eliminarlo nuevamente.

Hemos tenido este problema con aplicaciones únicas antes y lo hemos ''corsionado'' cortando código de módulos, compilando y luego pegándolo de nuevo, etc.

El problema ahora parece relacionarse con Excel en sí mismo en lugar de con un solo .xls, por lo que no estamos seguros de cómo gestionarlo.

Cualquier ayuda sería gratamente recibida :)

Gracias,

Philip Whittington


El problema ahora parece estar relacionado con el propio Excel

Reinstalar y repararlo :) Aparte de eso, es difícil de decir.


Encontré tocar ctrl + break mientras la macro no funcionaba, corrigió el problema.


Encontré una segunda solución.

  1. Presione el botón "Depurar" en la ventana emergente.
  2. Presione Ctrl + Pausa | Romper dos veces.
  3. Presiona el botón reproducir para continuar.
  4. Guarde el archivo después de la finalización.

Espero que esto ayude a alguien.


Este problema proviene de un extraño capricho dentro de Office / Windows.

Después de desarrollar la misma pieza de código VBA y ejecutarlo cientos de veces (literalmente) en los últimos días me encontré con este problema en este momento. Lo único que ha sido diferente es que justo antes de experimentar este problema desconcertante, terminé accidentalmente la ejecución del código VBA con un método poco ortodoxo.

Limpié todos los archivos temporales, reinicié, etc ... Cuando volví a ejecutar el código después de todo esto, todavía tengo el problema, antes de ingresar al primer ciclo. Tiene sentido que "presione" el botón "Depurar" en la ventana emergente, luego presione dos veces [Ctrl + Receso] y después de esto puede continuar sin paradas " porque algo en la combinación de Office / Windows no ha liberado la ejecución. Está atascado.

La acción Ctrl + Break redundante probablemente resuelva la ejecución persistente.


Gracias a todos por su aporte. Este problema se solucionó al elegir REPARAR en el Panel de control. Supongo que esto vuelve a registrar explícitamente algunos de los componentes COM nativos de Office y hace cosas que REINSTALL no. Espero que este último solo revise una lista de verificación y, a veces, acepte lo que hay allí si ya está instalado, tal vez. Luego tuve un problema aparte al registrar mi propio .NET dll para la interoperabilidad COM en la máquina del usuario (a pesar de que esto también funciona en otras máquinas) aunque creo que este fue mi error en lugar de Microsoft. Gracias de nuevo, realmente lo aprecio.


He tenido este problema docenas de veces, y como tú, he ido a buscar en la web solo para encontrar una falta de buenas respuestas sobre cómo resolver el problema. Creo que el mensaje exacto que recibo es "La ejecución del código se ha interrumpido".

Solo obtengo este error cuando rompo manualmente la ejecución del código en Excel (generalmente presionando Ctrl + Break). Una vez que eso sucede, generalmente tengo que reiniciar mi computadora para que vuelva a funcionar normalmente.


Me he encontrado con este problema varias veces durante el desarrollo de una aplicación compleja de Excel VBA. Algunas veces, Excel comenzó a romper el objeto VBA al azar. Y el único remedio fue reiniciar la máquina. Después de reiniciar, Excel generalmente comenzó a actuar normalmente.

Pronto descubrí que la posible solución a este problema es presionar CTRL + Break una vez cuando la macro NO se está ejecutando. Tal vez esto también puede ayudarte.


Mi reputación actual todavía no permite publicar esto como un comentario. La solución de Stans para ingresar al modo de depuración, presionar dos veces Ctrl + Break, jugar, guardar solucionó mi problema, pero tengo dos giros inesperados:

  1. La estructura de mi proyecto está protegida por contraseña, por lo que para entrar en el modo de depuración tuve que ingresar primero al modo Desarrollador, hacer clic en la estructura del proyecto e ingresar la contraseña.

  2. Mi proyecto es un archivo de plantilla (.xmtl). Abrí el archivo haciendo doble clic que lo abre como .xml con un "1" al final del nombre del archivo anterior. Arreglé el error según las instrucciones de Stans y lo guardé como ese ... archivo 1.xml. Cuando abrí la plantilla nuevamente, esta vez como plantilla, y quería aplicar la misma corrección de errores a ese archivo, el error desapareció. No cambié este archivo y todavía no hay errores en la ejecución de la macro. Esto significa para mí que el error no está realmente en el archivo, sino en una configuración (oculta) en Excel.


Probaría los remedios usuales: - Ejecute el limpiador de código VBA de Rob Bovey en su código VBA - elimine todos los complementos de la PC del usuario, particularmente los complementos COM y .NET - Elimine todos los archivos .EXD de los usuarios (incompatibilidades de actualización MSoft) - Ejecute Excel Detectar y reparar en el sistema de los usuarios: verifique el tamaño del archivo .xlb del usuario (debería ser de 20 a 30 KB). Reinicie y luego elimine todos los archivos temporales de los usuarios.


También tuve este problema usando Excel 2007 con un libro de trabajo foobar.xlsm (macro habilitado) que obtendría la "Ejecución de código interrumpida" simplemente tratando de cerrar el libro en la X roja en la esquina derecha sin macros corriendo en todas las macros de formulario, libro de trabajo o hoja de trabajo de "inicialización" tampoco. Las opciones que obtuve fueron "Fin" o "Continuar", la depuración siempre estaba atenuada. Lo hice como un panel anterior sugirió Panel de control-> Programas y características-> haga clic derecho en "Microsoft Office Proffesional 2007" (en mi caso) -> cambiar-> reparar.

Esto resolvió el problema para mí. Podría agregar que esto sucedió poco después de una actualización de MS y también encontré un complemento en Excel llamado "Team Foundation" de Microsoft que ciertamente no instalé voluntariamente


Una solución está here :

La solución para este problema es agregar la línea de código "Application.EnableCancelKey = xlDisabled" en la primera línea de su macro ... Esto solucionará el problema y podrá ejecutar la macro correctamente sin obtener el mensaje de error "Código la ejecución ha sido interrumpida ".

Pero, después de insertar esta línea de código, ya no pude usar Ctrl + Break. Entonces funciona pero no mucho.