VBA编辑器自动删除行尾的空格
有没有办法让Excel中的VBA编辑器停止自动格式化行,以便在我打字四分之一秒时暂停删除空格?
在VBA编辑器中有一种closures自动“校正”的方法。
Tools
菜单 – > Options
– > Editor
选项卡 – >清除Auto Syntax Check
checkbox
可悲的是,这并不能解决所有的问题,因为VBA编辑倾向于拥有自己的头脑,无论好坏。
我有这个确切的问题,以下为我工作。
- 单击Microsoft Officebutton,然后单击Excel选项
- 单击加载项类别
- 在pipe理框中,单击COM加载项,然后单击开始。
- find一个名为“加载testing报告AddIn”的添加,然后取消选中它
- 重新启动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中的问题。