ActiveChart.Deselect不起作用

我从三列数据创buildxy散点图 – 请参阅下面的数据示例和代码。 代码从加载项运行,而不是从活动工作簿运行

SeriesCollection(1)放到辅助轴上后,选中该图表行。 根据Excel 2007 HELP, ActiveChart.Deselect应该取消select所有内容。 但是当它添加到我的代码中时什么也没做。 .Deselect自Office XP以来,对象模型更改.Deselect列出的.Deselect作为图表对象的方法列出,状态为hidden

我发现了各种各样的build议,包括select一些细胞; 或使用SendKeys发送{ESC}。 似乎工作的唯一方法是首先启用屏幕更新,然后保护图表。 (之后的保护不需要删除select,但方便进一步的工作)。

有没有更好的方法,或者这是一个合理的解决办法?

Chart.Deselect是否可以在其他版本的Excel中工作?

最终的结果应该是图表在屏幕上可见,没有任何select。

短数据样本

 Time Amps Volts 04/26/2015 01:22:39 PM 4.9 53.4 04/26/2015 01:22:40 PM -0.9 53.2 04/26/2015 01:22:41 PM -1.5 53.4 04/26/2015 01:22:42 PM 8.7 53.4 04/26/2015 01:22:43 PM -2.9 53.3 04/26/2015 01:22:44 PM -3.2 53.2 04/26/2015 01:22:45 PM 11.3 53.8 04/26/2015 01:22:46 PM -3.8 53.3 04/26/2015 01:22:47 PM -3.2 53.3 04/26/2015 01:22:48 PM 11.4 53.6 04/26/2015 01:22:49 PM -3.2 53.3 04/26/2015 01:22:50 PM -2.8 53.2 04/26/2015 01:22:51 PM 5.7 53.3 04/26/2015 01:22:52 PM 7.5 53.5 04/26/2015 01:22:53 PM 2.1 53.3 04/26/2015 01:22:54 PM 2.3 53.4 04/26/2015 01:22:55 PM 2.5 53.3 04/26/2015 01:22:56 PM 2.4 53.4 04/26/2015 01:22:57 PM 2.3 53.4 04/26/2015 01:22:58 PM 1.9 53.5 04/26/2015 01:22:59 PM 2 53.3 04/26/2015 01:23:00 PM 2.3 53.3 04/26/2015 01:23:01 PM 2.7 53.5 04/26/2015 01:23:02 PM 2.5 53.4 04/26/2015 01:23:03 PM -2.4 53.4 04/26/2015 01:23:04 PM -4 53.3 04/26/2015 01:23:05 PM -3.5 53.3 04/26/2015 01:23:06 PM 4.1 53.4 04/26/2015 01:23:07 PM 9.4 53.6 04/26/2015 01:23:08 PM -5.1 53.3 04/26/2015 01:23:09 PM 9.8 53.6 04/26/2015 01:23:10 PM -5.2 53.2 04/26/2015 01:23:11 PM 9.7 53.5 04/26/2015 01:23:12 PM -5.5 53.2 04/26/2015 01:23:13 PM 9.8 53.6 

使用这个代码:

 Sub GraphEmeter() Dim cS As Chart Dim A As Axis Application.ScreenUpdating = False Set cS = ActiveWorkbook.Charts.Add Set cS = ActiveChart With cS .SetSourceData Range("capture!R1").CurrentRegion, xlColumns .ChartType = xlXYScatterLinesNoMarkers Set A = .Axes(xlCategory) With A .CategoryType = xlCategoryScale .BaseUnitIsAuto = True .TickLabels.Orientation = 45 End With .SeriesCollection(1).AxisGroup = 2 'deselect the chart area 'documented method ' ActiveChart.Deslect 'doesn't seem to work 'But this method does Application.ScreenUpdating = True .Protect .Unprotect End With End Sub 

– 已解决的答案 –

我添加了您的示例数据,并使用您的代码创build了一个加载项。 我确认要取消select该系列,只需使用以下行select图表区域即可:

 cS.ChartArea.Select 

– 原创答案 –

这不适用于OP,但在图表不在图表工作表上,但在标准工作表上时仍然可以工作

如果目标是简单地取消select图表,那么您应该可以select表单上的其他任何内容(范围,对象等)来更改select。 我select了单元格A1 ,但是您可以select任何内容(例如位于图表后面的单元格)。

 ActiveSheet.Range("A1").Select