2009-07-22 15 views

Respuesta

6

No es una especie de una manera de apagar el auto "corrección" en el Editor de VBA.

Tools Menú ->Options ->Editor Tab -> Desactive la casilla Auto Syntax Check

Lamentablemente, esto no va a resolver todos sus problemas, como el Editor de VBA tiende a tener una mente propia, para bien o peor.

+5

Y mientras esté allí, debe marcar la casilla 'Requerir declaración de variable'. Automáticamente ingresará una 'Opción Explícita' en cada archivo nuevo, lo que le ahorrará frustraciones potenciales al depurar una variable que * simplemente no cambiará * ya que hay un error ortográfico en su nombre. –

+2

Ten en cuenta que cuando deseleccionas * Comprobación de sintaxis automática * ya no recibirás mensajes incesantes que te digan acerca de un "Error de compilación"; que creo que cada desarrollador de VB ha llegado a amar. – ray

+3

¡DESPLAZAR ABAJO! Si aterrizó aquí a través de google, la respuesta que está buscando es la respuesta de ade (con muchos más votos al alza). – Andrew

-1

No creo que haya visto el VBE eliminar un espacio cuando he dejado de escribir. Eliminará los espacios de trazo de las líneas si te mueves a otra línea, pero eso es algo diferente y no el comportamiento que creo que puede ser alterado.

+0

Oh, lo hace. No puedo recordar cómo obtuve ese comportamiento sin trabas. – Smandoli

+0

Así que estás diciendo que no puede suceder, ¿eh? Esa no es una respuesta muy útil. Esta pasando. A mi. Y sé lo que estoy haciendo. – ErikE

+0

No digo que no pueda suceder, simplemente que nunca lo he visto suceder. – Lunatik

6

definitivamente he tenido ese problema antes, donde el editor de VBA sería formatear como yo estaba escribiendo (no sólo cuando fui a otra línea). Para mí, parecía estar relacionado con un control de navegador web de Microsoft que tenía en un libro de trabajo abierto. Cuando saqué el navegador web, el editor de VBA comenzó a actuar normalmente de nuevo. No tengo idea de por qué funcionó, pero lo hizo. Ahora evito usar ese control en mis libros de trabajo.

4

Algo está causando la hoja de cálculo para volver a calcular mientras se encuentra en el Editor de VBA y esto 'recoge' su código y por lo tanto priva a los espacios. Debe detener el recálculo de las celdas mientras está editando. Convirtiendo el cálculo en manual en la hoja de cálculo. Herramientas> Opciones> El cálculo debería ser el truco.

Me di cuenta de esto cuando tuve que volver a calcular las celdas gracias a una conexión DDE.

+0

Esta respuesta me suena bien, basada en una experiencia similar en Access. No recuerdo qué causaba que el código se contrajera, pero estaba aprendiendo acerca de la recursión en ese momento ... estremecimiento ... – Smandoli

+0

¡Gracias! Esto resolvió mi problema. – User

+0

Yo también, una conexión DDE fue la causa –

0

Desactivar Tools > Options > General > Background Compile. Esto lo resolvió para mí.

0

llegué a este problema hoy en día en una instalación nueva de Excel 2010 Beta 2. Ninguna de las anteriores hizo ninguna diferencia, pero van al centro de la confianza y la desactivación de todos los complementos de aplicación solucionado el problema para mí.

37

Tuve este problema exacto y lo siguiente funcionó para mí.

  1. Haga clic en el botón de Microsoft Office y haga clic en Opciones de Excel
  2. Haga clic en la categoría Complementos
  3. En el cuadro Administrar, haga clic en complementos COM y, a continuación, haga clic en Ir.
  4. Busque un complemento denominado 'Prueba de carga Informe de complemento' a continuación, desactive que
  5. reinicio sobresalir

Este complemento se instala con VS2010 Beta2

+1

Esta solución funcionó para mí. –

+3

Desactivar "Cargar informe de informe AddIn" como lo sugirió el usuario 'ade' funcionó perfectamente para mí. Desde que uso Visual Studio 2010 creo que obtuve este complemento como parte de la instalación. –

+3

Para mí, era el "complemento de Team Foundation Server Excel" lo que causaba este problema. – Alain

-1

La eliminación de espacios en el editor de VBA para Access ocurre cuando un formulario está abierto en modo Forma ("Ejecutar"). Probablemente esto se deba a las ejecuciones en segundo plano basadas en los métodos "On Timer". Cierre el formulario en Access resuelve el problema en VBA.

1

Ninguno de los anteriores para mí. Tenía un temporizador Application.OnTime que disparaba cada segundo y esto activaba el recálculo de algo: comentar que me alegraba el día.

10

En Excel 2010, alternando modo de diseño botón de en la ficha Programador cinta resuelve el problema para mí.

+0

Eso ayudó. Gracias. Sin embargo, no estoy seguro de si esta es realmente la causa raíz o si detiene la causa raíz cuando está en modo de diseño. – ErikE

+0

En realidad, lo llevo de vuelta. No ayudó, porque sale del modo de diseño por sí mismo. – ErikE

+0

Cada vez que se ejecuta desde el editor de código, sale del modo de diseñador. El mismo botón de alternar se encuentra en la barra de herramientas del editor, por lo que puede volver atrás. –

1

Esto comenzó a sucederme recientemente después de agregar un evento Timer a un formulario de Access 2007. El editor de VB "finaliza" la línea actual (como si hubieras sacado el cursor de la declaración, tengo la verificación de sintaxis automática desactivada) cada vez que el evento se dispara (inicialmente lo tenía configurado en 1 segundo, ahora está configurado en 5 segundos, y el comportamiento se escala en consecuencia). Para que se ejecute el código de evento, la aplicación debe asegurarse de que se haya compilado. Es de suponer que el editor necesita estar en un estado "sano" para hacer esto, ya que probablemente tenga que verificar las dependencias de código entre los módulos. Tenga en cuenta que el comportamiento se produce independientemente de si algún código dependiente se carga realmente en el editor en ese momento. Tenga en cuenta también que reiniciar el estado de ejecución no afecta la activación del evento del temporizador. Como cuestión práctica, uno podría cerrar el formulario desencadenante, cambiarlo a la vista de diseño, establecer un punto de interrupción en el código desencadenado o aumentar el intervalo del temporizador mientras se trabaja con el editor.

En contraste con el comentario de abhishek, cambiar la configuración de Herramientas/Opciones .../General/Compilar a petición y/o compilar en segundo plano no afectó el problema.

1

Si ayuda, ninguna de las respuestas anteriores resolvió la mía. La única solución parecía ser cerrar el archivo xls y volver a abrirlo. Frustrante tener que hacer cada 30 minutos, pero al menos funciona. Me encantaría saber por qué es recompilar y limpiar el texto ... realmente debería ser una opción para deshabilitar la limpieza del texto pero no pude encontrarlo.

1

Sacarlo del modo de diseño lo corrige todo el tiempo en vba2003 - me estaba volviendo loco al principio ... me di cuenta de que podría tener algo que ver con el control web, pero cuando lo saqué del modo de diseño funciona bien ... simplemente alternar eso para que se comporte :)

2

He tenido este mismo problema varias veces recientemente, y me ha vuelto loco.

Después de leer esta publicación todas las diferentes reparaciones mencionadas (ninguna funcionó para mí), recordé que he estado jugando últimamente con Internet Explorer Control, abriendo Internet Explorer desde VBA.

Esto se menciona en algunas de las respuestas de esta publicación.

Esto me puso en el camino correcto y, para solucionarlo, primero tuve que eliminar todas las instancias de iexplore.exe (alt + control + eliminar), cerré Excel y abrí Excel nuevamente. (iexplore.exe se había abierto invisible desde el código de VBA, y no sabía que se estaban ejecutando)

Eso corrigió el error.

He estado programando bastante con VBA durante más de 4 años, y nunca tuve este problema.

Hace un par de semanas comencé a usar el control de IE, y comencé a tener este problema ... así que en mi caso solo puedo suponer que el error está directamente relacionado con el control de IE.

Me postulo tanto Excel 2003 y 2007 en el mismo PC al mismo tiempo, y el problema sólo ocurre con Excel 2007.

0

tengo Office 2010 Pro y que tenían el mismo problema. Mientras escribo el espacio entre cada palabra fue eliminado. Después de probar cada una de las opciones para activarlas y desactivarlas, la única forma en que encontré funcionar fue deshabilitar el Winzip Courie(excel) add-in. Esto se realiza a través de la sección Complementos del cuadro de diálogo Opciones.

Cuestiones relacionadas