您好我一直在寻找解决方案来取消我的图表(在同一工作表内)与值的关联。 为此,我通常会选择数据,进入公式(F2),按F9并输入
我的系列会变成数字。 我将其自动化为sendkeys,我知道在线有另一种选择,但我希望解决方案为sendkeys。 基本上选择数据> F2> F9> Enter。如果我手动操作,这可以正常工作。
我的VBa代码看起来像这样
ActiveChart.ChartArea.Select
Application.SendKeys ("^{s}")
ActiveChart.SeriesCollection(2).Select
Application.SendKeys ("{f2}"), True
Application.SendKeys ("{f9}"), True
Application.SendKeys ("{f9}"), True
Application.SendKeys ("~"), True
Application.SendKeys ("^{s}")
ActiveChart.ChartArea.Select
ActiveChart.SeriesCollection(1).Select
Application.SendKeys ("{f2}"), True
Application.SendKeys ("{f9}"), True
Application.SendKeys ("~"), True
然而,第二组数据的一半仍然存在联系。
提前感谢您的帮助 - LGR
答案 0 :(得分:1)
您可以执行以下操作,将Series.Values
从引用转换为Range
,转换为实际的基础值。
Sub foo()
Dim cht As Chart
Dim srs As Series
Set cht = ActiveChart
For Each srs In cht.SeriesCollection
srs.Values = srs.Values
Next
End Sub
答案 1 :(得分:0)
尽量避免使用发送密钥。请改用:
ActiveWindow.Selection.ShapeRange(1).LinkFormat.BreakLink
来源:http://www.vbaexpress.com/forum/showthread.php?45829-How-to-break-links-to-excel-chart
编辑:根据David Zemens的评论,这适用于嵌入式图表,但不适用于Excel图表对象