爬行ActiveXbutton

美好的一天!

我有一个ActiveXbutton(根据从顶部的行数锚定在位置)运行VBA代码插入指定的数字复制行在特定的点。 代码本身工作正常,但button“克隆”本身,并重叠自己在新行的位置,即使我已经设置Application.ScreenUpdating = False 。 一旦屏幕更新再次启用,屏幕刷新和克隆消失。

我已经跟踪到一行代码: Selection.Insert Shift:=xlDown

一旦该行运行,该button被克隆。

例如,如果我用这个macros添加了3个空行,那么一旦上面的命令执行完毕,button就会看起来像这样,直到子例程完成:

在这里输入图像说明

为了使这个更有趣,当我使用Excel 2010时,这种行为不会发生。我有一天升级到Excel 2013,现在发生了这个问题。

有什么想法吗?

当Application.ScreenUpdating = False时,我遇到类似的行为。 我不认为这是一个很好的答案。 据我所知,只有解决方法。

你可能会按下button的插入和当Application.ScreenUpdating =假的事情仍然“sorting”更新。 如果你想让它消失,你可以尝试一些事情。

  1. 在插入之前将screenupdating设置为true,然后在插入之后返回false,这样就不会得到“克隆”。
  2. 插入后重新定位button。
  3. 删除你的button,插入,然后重画它们。
  4. 在插入和Application.ScreenUpdating = True之间使用较less的计算机资源,通过简化代码等

或者在您插入的时候和您的Application.ScreenUpdating = True之间执行的代码(尽可能简化,但演示了这个问题)。

我希望这是有帮助的。