使用VBA编程Excel时,如何将select设置为Nothing?

在使用range.copy和range.paste之后创buildgraphics时,它会保留选定的粘贴范围,然后在稍后几行创buildgraphics时,会将该select作为图的第一个系列。 我可以删除该系列,但有没有更好的方法来做到这一点? 我试过了

Set selection = nothing 

但它不会让我select。 我也尝试过selection.clear,但是这只是清除了最后选中的单元格,并且还为剧情添加了一个额外的系列。

 Cells(1,1).Select 

它将带你到单元格A1,从而取消你现有的select。

 Application.CutCopyMode = False 

只是使用

SendKeys“{ESC}”

从而取消您的select。

select任何单元格并closurescutcopymode。

 Range("A1").Select Application.CutCopyMode = False 

有一种方法可以select任何解决您的问题。

  1. 创build一个形状(一个矩形)
  2. 将其命名为Shapes Database >>>例如:“Ready”
  3. 参考它的MYDOC.Shapes(“就绪”),并将可见性更改为False

当你想要Excelselect什么时候做:

 MYDOC.Shapes("Ready").visible=True MYDOC.Shapes("Ready").Select MYDOC.Shapes("Ready").visible=False 

这隐藏的select,并没有任何东西仍然在您的窗口中selectPLUS:单词“就绪”显示在您的工作表的左上angular。

我不认为这是可以做到的。 下面是从Chip Pearson的网站上复制的一些代码: http : //www.cpearson.com/excel/UnSelect.aspx 。

UnSelectActiveCell

此过程将从select中删除活动单元格。

 Sub UnSelectActiveCell() Dim R As Range Dim RR As Range For Each R In Selection.Cells If StrComp(R.Address, ActiveCell.Address, vbBinaryCompare) <> 0 Then If RR Is Nothing Then Set RR = R Else Set RR = Application.Union(RR, R) End If End If Next R If Not RR Is Nothing Then RR.Select End If End Sub 

UnSelectCurrentArea

此过程将从选区中移除包含活动单元的区域。

 Sub UnSelectCurrentArea() Dim Area As Range Dim RR As Range For Each Area In Selection.Areas If Application.Intersect(Area, ActiveCell) Is Nothing Then If RR Is Nothing Then Set RR = Area Else Set RR = Application.Union(RR, Area) End If End If Next Area If Not RR Is Nothing Then RR.Select End If End Sub 

你可以简单地在最后使用这个代码。 (不要使用False)

 Application.CutCopyMode = True 

在Excel 2007中,使用select和CutCopyMode属性的组合,可以重置所有select。 它适用于我的用例。

 Application.CutCopyMode = xlCopy ActiveSheet.Range("A" & lngRow).Select 

问候Madhur

我用Excel 2013有这个问题。我有“冻结窗格”设置,这导致了问题。 当我移除冰冻的窗格时,问题就解决了。

您可以设置Application.ScreenUpdating = False并select一个单元格视图,然后将.ScreenUpdating设置为true。 这至less不会在当前视图中显示任何选定的单元格。

Selection(1, 1).Selectselect将只select当前select的左上angular的单元格。

如果使用一个button来调用粘贴过程,

在操作之后尝试激活button。 这成功地清除了select

  • 不得不乱用隐藏的东西
  • select另一个单元格(这与问题完全相反)
  • 影响剪贴板模式
  • 有没有总是工作的按键逃生的hacky方法

HTH

 Sub BtnCopypasta_Worksheet_Click() range.copy range.paste BtnCopypasta.Activate End sub 

HTH

尝试了所有的build议,没有运气,但这里有一个想法,我select了一个单元格出你的select范围(比如AAA1000000),然后再次selectA1

范围( “AAA1000000”)。激活

范围( “A1”)。激活

家伙