VBA编辑器自动删除行尾的空格

有没有办法让Excel中的VBA编辑器停止自动格式化行,以便在我打字四分之一秒时暂停删除空格?

在VBA编辑器中有一种closures自动“校正”的方法。

Tools菜单 – > Options – > Editor选项卡 – >清除Auto Syntax Checkcheckbox

可悲的是,这并不能解决所有的问题,因为VBA编辑倾向于拥有自己的头脑,无论好坏。

我有这个确切的问题,以下为我工作。

  1. 单击Microsoft Officebutton,然后单击Excel选项
  2. 单击加载项类别
  3. 在pipe理框中,单击COM加载项,然后单击开始。
  4. find一个名为“加载testing报告AddIn”的添加,然后取消选中它
  5. 重新启动excel

这个插件与VS2010 Beta2一起安装

在Excel 2010中,在“ 开发人员function区”选项卡上切换“ devise模式”button可为我解决问题。

我以前肯定有这个问题,vba编辑器会在input的时候格式化(不仅仅是当我去另外一行时)。 对我而言,这似乎与我在一本开放的工作簿中使用的Microsoft Web浏览器控件有关。 当我拿出Web浏览器时,VBA编辑器再次正常运行。 我不知道为什么这个工作,但它确实。 现在我避免在工作簿中使用该控件。

当您在VBA编辑器中时,某些事情正在导致您的电子表格重新计算,并“编译”您的代码,从而剥离空间。 您需要在编辑时停止重新计算单元格。 在电子表格中将计算转为手动。 工具>选项>计算应该做的伎俩。

当我通过DDE连接重新计算单元格时,我注意到了这一点。

我最近几次遇到同样的问题,并且把我逼疯了。

在阅读完这篇文章后,我提到了所有不同的解决scheme(我都没有为之工作),我回想起我最近在使用Internet Explorer Control,从VBA打开Internet Explorer。

这篇文章的一些答案中提到了这一点。

这让我在正确的道路上,为了解决这个问题,我不得不先删除所有的iexplore.exe实例(alt + control + delete),closuresExcel并重新打开excel。 (iexplore.exe已经被VBA代码打开了,我不知道它们正在运行)

这修正了这个错误。

我已经用VBA进行了4年多的编程,从来没有这个问题。

就在几个星期前,我开始使用IE控制,我开始得到这个问题…所以在我的情况下,我只能假设错误是直接关系到IE控制。

我同时在同一台个人电脑上同时运行excel 2003和2007,问题只发生在excel 2007上。

以上都不是我的。 我有一个Application.OnTime计时器,每秒钟触发,这触发了重新计算的东西:评论它使我的一天。

添加一个Timer事件到一个Access 2007表单后,最近我已经开始发生这种情况。 VB编辑器在每次事件触发时(最初我将它设置为1秒,现在它被设置为5),“最终确定”当前行(就好像您已经将语句从语句移开;我有自动语法检查)秒,并且行为相应地缩放)。 为了执行事件代码,应用程序必须确保它已经被编译。 据推测,编辑器需要处于“健全”的状态才能做到这一点,因为它可能需要检查模块之间的代码依赖关系。 请注意,无论当时是否实际将任何相关代码加载到编辑器中,都会发生此行为。 另请注意,重置执行状态不会影响定时器事件触发。 实际上,可以closures触发forms,将其切换到devise视图,在触发的代码中设置断点,或者在使用编辑器时增加定时器间隔。

与abhishek的评论相反,改变Tools / Options … / General / Compile On Demand和/或Background Compile的设置不会影响这个问题。

如果有帮助,以前的答案都没有解决我的。 只有解决scheme似乎是closuresxls文件并重新打开它。 不得不每30分钟做一次,但至less是有效的。 想知道为什么它重新编译和清理文本…应该真的是一个选项来禁用文本清理,但无法find它。

把它从devise模式中解脱出来,每次都在vba2003上进行修复 – 起初它让我疯狂起来…我注意到它可能与Web控件有关,但是当我把它从devise模式中取出时,它工作的很好。 ..只是切换,让它performance:)

我今天在全新安装的Excel 2010 Beta 2上遇到了这个问题。上述都没有任何区别,但进入信任中心并禁用所有应用程序加载项可以解决这个问题。

closuresTools > Options > General > Background Compile 。 这为我解决了。

我有Office 2010 Pro和我有同样的问题。 当我input每个单词之间的空格被删除。 尝试每个选项打开和closures后,我发现工作的唯一方法是禁用Winzip Courie(excel) add-in 。 这是通过“选项”对话框的“加载项”部分完成的。

我不认为我曾经看到VBE删除了一个空格,当我停止打字。 如果你移动到另一行,它将删除行间的空间,但这是不同的,而不是我认为可以改变的行为。

在Form(“Execute”)模式下打开表单时,会在VBA编辑器中删除用于Access的空格。 这可能是由于基于“定时器”方法的后台执行。 在Access中closures表单解决了VBA中的问题。