Excel sigue fallando? Verifique su código VBA

Share on facebook
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp

Contenidos

Utilizo Excel 2013 de 64 bits y, a veces, Excel sigue fallando. Solía ​​sucederme mucho más en el pasado, pero después de descubrir qué estaba causando el comportamiento repetido, he podido reducir en gran medida la frecuencia con la que esto sucede.

Primero una descripción del problema

Excel ha dejado de funcionar2Si esto le sucede, entonces ya estará al tanto de este escenario. Estás dentro de tu workbook haciendo algo importante (siempre sucede cuando estás haciendo algo importante), y después el fondo de la pantalla se atenúa y aparece un mensaje que dice Microsoft Excel ha dejado de funcionar. Después «finge» estar buscando una solución antes de decirle que no puede solucionarlo y que debe cerrar el programa.

Y si su experiencia se parece en algo a la mía, una vez que esto comienza a suceder con un workbook, sigue sucediendo una y otra vez sin aparentemente ninguna salida.

Entonces, ¿qué causa esta conducta repetido?

Bueno, hay 2 causas principales de este problema.

El primero (el que más me pasa) es que algún código VBA en uno de sus libros de trabajo se corrompe. Si el workbook tiene su propio código VBA, esto puede causar el problema. A pesar de esto, además tengo mi propio workbook personal.xlsb que contiene una gran cantidad de VBA que uso con regularidad, y este workbook además puede convertirse en un obstáculo.

El segundo problema potencial puede ser un complemento. En realidad, es probable que sea un complemento lo que provocó que Excel se bloqueara la primera vez. A pesar de esto, cuando Excel se bloquea desde un complemento puede crear un obstáculo nuevo y repetitivo en sus libros de trabajo de VBA, y después es el código VBA el que se convierte en el infractor reincidente.

Libro de Power BI DAX

OK, dime como arreglarlo ya

Si ha fallado repetidamente y su workbook tiene código VBA o está usando un workbook personal.xlsb, siga leyendo.

  1. Lo primero que debe hacer es abrir Excel en modo seguro. Asegúrese de que Excel esté cerrado y después vaya a STARTRUN y escriba
    excel.exe /safe

    después presione enter. Dependiendo de su versión de Windows, es factible que tenga que hacer algo ligeramente distinto para abrir el cuadro de diálogo de ejecución de Windows. Cuando inicie Excel en modo seguro, ninguno de los complementos se cargará y además su código VBA estará en modo protegido; no puede hacer nada.

  2. Si el código VBA está en un workbook, abra ese libro ahora. Si el código VBA está en su personal.xlsb, puede omitir este paso. Si tiene ambos, debe completar estos pasos para ambos.
  3. Lo siguiente es tomar una copia de su código VBA para que pueda seguir usándolo. Regularmente presiono Alt-F11 para abrir la ventana de VBA, busco mi código VBA en mis libros de trabajo. De forma general tomo una copia del texto en los módulos VBA y lo guardo en notepad.exe para almacenamiento temporal. Además puede intentar exportar el módulo como * .bas (haga clic con el botón derecho en el módulo y seleccione «exportar archivo»), especialmente si tiene formularios que necesita conservar. Prefiero utilizar el método notepad.exe si es factible, puesto que garantiza que se eliminen los «errores» deshonestos y que no haya nada al acecho que no pueda ver.
  4. Los pasos finales varían para un workbook y un personal.xlsb
    1. Ahora, si tiene un workbook vba sospechoso abierto, entonces
      1. Guárdelo como un formato de archivo xlsx. Esto eliminará todos los módulos VBA del workbook.
      2. Una vez guardado, cierre el workbook y después vuelva a abrirlo (como recomienda Khushnood en los comentarios a continuación).
      3. Guárdelo nuevamente como xlsm o xlsb (cualquiera que sea su preferencia) y después reemplace el código VBA desde donde lo guardó.
      4. Ha terminado con el modo seguro ahora, por lo tanto cierre Excel y vuelva a abrirlo en modo normal
    2. Si tiene un archivo personal.xlsb, una vez que haya copiado su código VBA en un lugar seguro,
      1. Cierre Excel.
      2. Navegue hasta la ubicación del libro personal.xlsb y elimínelo. Consulte a continuación la ubicación de los archivos.
      3. Vuelva a abrir Excel en modo normal.
      4. Abra un workbook en blanco y registre las nuevas pulsaciones de teclas de macro al azar. Configúrelo para grabar en su Libro de macros personal. Esto volverá a crear el archivo personal.xlsb automáticamente.
      5. El último paso es copiar su código vba nuevamente en uno o más módulos en este nuevo workbook personal.xlsb.

Ubicación del archivo personal.xlsb

Para Excel 2013, personal.xlsb se puede hallar en las siguientes ubicaciones.

Windows 7 and Windows 8
C:Users%username%AppDataRoamingMicrosoftExcelXLSTART
Windows XP
C:Documents and SettingsApplication DataMicrosoftExcelXLSTARTPERSONAL.XLSB

Si no puede encontrarlo, haga una búsqueda global de «Personal.xlsb». Las versiones anteriores de Excel disponen el mismo nombre de archivo pero almacenan el archivo en una ubicación ligeramente distinto. Simplemente haga la búsqueda de Windows y lo encontrará.

Copia de seguridad de su personal.xlsb

Una vez que me di cuenta de cuál era la causa de este problema, comencé a hacer una copia de seguridad rutinaria de mi archivo personal.xlsb en mi cuenta de DropBox. Yo uso Microsoft Synctoy para hacer esto cada noche. El motivo por la que hago una copia de seguridad en DropBox es que DropBox mantiene un historial del archivo con la fecha del archivo. Si descubre en 1 semana que su archivo personal.xlsb está dañado, siempre puede volver atrás y restaurar la versión que tenía la semana pasada.

¿Y qué pasa con esos molestos complementos?

Bueno, odio decirlo, pero la realidad es que el complemento más problemático que uso es Power Pivot. Esto es regularmente lo que hace que mis libros de trabajo se bloqueen en primer lugar. Pero como dije previamente, una vez que esto sucede por primera vez, el problema se puede mover a su código VBA. Deshabilitar el complemento Power Pivot no es una solución a largo plazo para mí (ni para nadie que use Power Pivot). Y tampoco es un requisito. Simplemente deshabilítelo si es necesario y después vuelva a encenderlo. Siempre he podido recuperarme de un Power Pivot Add de esta manera y nunca ha dejado de funcionar «permanentemente».

Pero si tiene problemas con un complemento en Excel, puede recorrer un procedimiento para deshabilitarlos uno por uno. Esto no está dentro del alcance de mi problema, pero puede descubrir cómo hacerlo con bastante facilidad si buscando en Internet.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.