在编程Excel时将选择设置为Nothing

Cur*_*urt 23 excel vba excel-vba

当我使用range.copy和range.paste创建图形后,它会选择粘贴范围,然后当我在几行后创建图形时,它会将选择作为图形中的第一个系列.我可以删除这个系列,但有更优雅的方法吗?我试过了

Set selection = nothing
Run Code Online (Sandbox Code Playgroud)

但它不会让我选择.我也试过了selection.clear,但是刚刚清除了所选择的最后一个单元格,并且仍然在剧情中添加了一个额外的系列.

小智 32

Application.CutCopyMode = False
Run Code Online (Sandbox Code Playgroud)

  • +1。这应该是公认的答案,因为它完全符合 OP 的意图(避免使用先前选择的单元格进行复制) - 它关闭“复制的单元格”标记(单元格周围的虚线)。好吧,对我有用! (4认同)
  • Excel 2010 VBA-我想在将其复制并粘贴到 vba 后取消选择一个范围(即删除动画虚线边框)。接受的解决方案对我不起作用(对于 OP 看起来也不奇怪??)但这个解决方案确实如此。 (2认同)

sha*_*esh 23

Cells(1,1).Select
Run Code Online (Sandbox Code Playgroud)

它将带您进入单元格A1,从而取消现有选择.


小智 10

选择任何单元格并关闭cutcopymode.

Range("A1").Select
Application.CutCopyMode = False
Run Code Online (Sandbox Code Playgroud)


小智 8

只是用

SendKeys"{ESC}"

从而取消您的选择.

  • 这是天才。谢谢! (2认同)
  • 这是执行“Application.CutCopyMode = False”的一种懒惰的迂回方式。不要这样做。 (2认同)

小智 5

有一种选择不解决问题的方法。

  1. 创建形状(一个矩形)
  2. 在Shapes Database >>>中将其命名,例如:“ Ready”
  3. 引用它MYDOC.Shapes(“ Ready”)并将可见性更改为False。

当您希望Excel SELECT NOTHING执行此操作时:

MYDOC.Shapes("Ready").visible=True
MYDOC.Shapes("Ready").Select
MYDOC.Shapes("Ready").visible=False
Run Code Online (Sandbox Code Playgroud)

这会隐藏选择内容,并且窗口中仍未选择任何内容。PLUS:工作表的左上方显示了“就绪”字样。


小智 5

您可以简单地在最后使用此代码。(不要使用 False)

Application.CutCopyMode = True
Run Code Online (Sandbox Code Playgroud)