我正在尝试使用源数据列表(两个单独的列)创建图表,根据用户输入,列数可能会有所不同。 我将动态值存储在名为" chartRange"的变量中。 我最初使用固定范围制作了子,使用单个代码行,它完美地工作。 我替换了这个代码行:
Set chartRange = ActiveSheet.Range("E8:E69,G8:G69")
使用这3个新代码行:
Set r1 = Sheets("Sheet1").Range("E8":"E" & chartRange)
Set r2 = Sheets("Sheet1").Range("G8":"G" & chartRange)
Set myMultipleRange = Union(r1, r2)
我正在尝试使这3个新代码行工作,但收到错误消息。 有人可以帮我纠正代码问题吗? 我在下面列出了完整的子。 提前谢谢。
Dim chartRange As Integer
Dim cht As ChartObject
Dim totalPymts As Integer
Dim r1, r2, myMultipleRange As Range
' this variable is used to define table size
totalPymts = Worksheets("Sheet1").Cells(5, 4).Value
'my data range for the chart using single line
' Set chartRange = ActiveSheet.Range("E8:E69,G8:G69")
' the 3 new lines that dont work
Set r1 = Sheets("Sheet1").Range("E8":"E" & chartRange)
Set r2 = Sheets("Sheet1").Range("G8":"G" & chartRange)
Set myMultipleRange = Union(r1, r2)
'Create a chart
Set cht = ActiveSheet.ChartObjects.add( _
Left:=Range("a1").Left, _
Width:=450, _
Top:=Range("a5").Top, _
Height:=260)
'Give chart some data
cht.Chart.SetSourceData Source:=myMultipleRange
'Determine the chart type
cht.Chart.ChartType = xlLine
'Ensure chart has a title
cht.Chart.HasTitle = True
'Change chart's title
cht.Chart.ChartTitle.Text = "Repayments Schedual"
'Remove X-axis
' remove legend entry 1
Worksheets("sheet1").ChartObjects(1).Chart _
.Legend.LegendEntries(1).Delete
End Sub