我对VBA完全不熟悉,并希望得到一些指导。我想使用一个宏,按下按钮,创建一个图表
到目前为止,我所做的全部是第一个,基于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
有人可以告诉我如何更改此代码以在新工作表上创建图表,并在给定范围的单元格中使用数据和系列标签吗?如果需要,我可以将这些问题分成不同的问题。谢谢。
答案 0 :(得分:1)
感谢Sam,我能够找到我需要的代码。
Sub createChart()
Dim myRange As Range
Set myRange = Selection
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=myRange
Dim SheetName As String
SheetName = Cells(myRange.Row, 2).Value
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:=SheetName
ActiveChart.FullSeriesCollection(1).XValues = "=Scores!$E$1:$I$1"
Dim i As Integer
For i = 1 To ActiveChart.FullSeriesCollection.Count
ActiveChart.FullSeriesCollection(i).Name = "=Scores!$C" & myRange.Row + i - 1
Next
ActiveChart.SetElement (msoElementChartTitleAboveChart)
ActiveChart.ChartTitle.Select
ActiveChart.ChartTitle.Text = "=Scores!$A" & myRange.Row
End Sub
这让我可以选择范围,单击按钮,图表将在新工作表中创建,其中包含我需要的所有数据标签。这应该真的帮助我下次需要创建基于图表的宏。