Excel VBA在运行后强制选择对象

时间:2014-06-09 21:18:15

标签: excel excel-vba focus multiple-instances vba

我已将此事研究死亡,并觉得我是唯一一个曾经发生过的人。

我有一些VBA:

  • 为新wb
  • 创建3张的副本
  • 在新wb中转换为值,删除对象(形状和控件)以及除3个范围外的所有内容
  • 打开现有的第三个文件,并在其中设置三个范围的内容以匹配新的wb
  • 关闭现有文件(已保存)
  • 关闭新的wb(已保存)
  • 提供一个完整的消息框

在所有这些结束时,窗口的状态发生了一些奇怪的事情。所选单元格未显示为已选中。如果我之后尝试单击一个控件,它会选择该对象(因此用户可以拖动它们)。它不应该,这是一个大问题。

我尝试通过代码选择一个单元格,它会抛出一个错误。通过使用Call CommandBars("Drawing").Controls("Select Objects").Execute强制绘图模式并激活特定工作表和放大,我取得了有限的成功。选择一个细胞。然而,即便如此,如果我之后甚至点击几个单元格,下次选择一个控件时,它会将其选为对象而不是单击该对象。

我不知道为什么也找不到之前见过的人。

关于我能做什么的任何想法?

谢谢,

罗勒

1 个答案:

答案 0 :(得分:0)

我没有完全弄明白,但我确实找到了解决办法。希望它适用于发现此问题的任何其他人。

在代码的最后我添加了这个:     ActiveSheet.Shapes.Range(" ctrlExportPrices&#34)。选择     ActiveSheet.Range(" B8&#34)。选择

因此,它强制选择纸张上的控件,然后选择单元格。

下次我手动选择控件时,会单击它而不是选择图形对象。