如何获取charts.add命令以提供空图表?

Jaz*_*eus 4 excel charts vba excel-vba

charts.addVBA中的命令将新的图表对象添加到工作簿.我觉得用F11Excel做同样的事情也是如此.

问题是,该命令使用该点周围的数据选择工作表和单元格来填充图表.如果没有数据或没有可用数据,则返回空图表.

我的问题是:"我如何强制命令提供空图表?" .我打算用VBA代码填充图表.

这个问题的一个简单答案是创建一个新的空工作表并在该工作表上选择单元格A1,然后创建一个新图表,但这是一个相当丑陋的解决方案.任何优雅解决方案的帮助将不胜感激.

Kaz*_*wor 5

尝试添加额外的行,它会在图表出现后立即删除数据:

Charts.Add 
ActiveChart.ChartArea.Clear
Run Code Online (Sandbox Code Playgroud)

编辑替代解决方案,但这将跳回数据表:

'select last cell in the sheet which is usually empty
Dim tmpSel As Range
Set tmpSel = Selection
Cells(Rows.Count, Columns.Count).Select
'add chart
Charts.Add
'back to base sheet and select range previously selected
tmpSel.Parent.Activate
tmpSel.Select
Run Code Online (Sandbox Code Playgroud)

  • @ Jean-FrançoisCorbett确实如此.计算问题不是那么相关,但我最初问这个问题是为了找到一个优雅的解决方案.需要计算工作来创建在下一行中被破坏的东西的解决方案并不优雅.我很欣赏KazJaw的回答(+1),但这不是一个好的答案(没有接受的答案). (2认同)

小智 5

我遇到过同样的问题。我尝试使用该ActiveChart.ChartArea.Clear属性,但结果导致崩溃。ActiveChart.ChartArea.ClearContents然后我在添加图表后尝试,它给了我想要的结果,这是一个我可以添加系列的空白图表。