【发布时间】:2018-05-09 18:30:39
【问题描述】:
我是 VBA 的新手,希望得到一些指导。我想使用一个宏,在按下按钮时创建一个图表
- 基于用户选择的范围(如下图所示)
- 在新工作表上
- 将 x 轴数据标签设置为标题的顶行(蓝色范围)
- 根据数据左侧的三个组标签设置系列标签。 (橙色范围)
到目前为止,我所做的只是第一个,基于this answer,得到以下代码:
Sub CommandButton1_Click()
createChart
End Sub
Sub createChart()
Dim myRange As Range
Set myRange = Selection
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=myRange
Cells(1, 1).Select
End Sub
谁能告诉我如何更改此代码以在新工作表上创建图表,并在给定的单元格范围内使用数据和系列标签?如果需要,我可以将这些分成不同的问题。谢谢。
【问题讨论】:
-
在这些情况下,首先要做的是在执行您刚才描述的操作时录制宏。这将产生一些您可以放入自己的代码中的代码。
-
可能类似于
ActiveChart.Location Where:=xlLocationAsObject, Name:="{SheetName}" -
@Sam 这真的很有帮助,我已经使用您的方法研究了如何动态格式化轴标签、系列标签和标题。我仍然无法解决的是如何将图表放在单独的工作表上。
-
@Jiggles32 我尝试了您建议的代码,但它仅适用于现有工作表。我想创建一个新工作表并将图表放在那里。
-
我认为
ActiveChart.Location Where:=xlLocationAsNewSheet是你想要的