有谁知道如何循环"范围"?
我有超过100年的月度时间序列数据。只有X和Y变量。而且我想为每一年创建一个图表。这是创建其中一个图表的简单代码......
ActiveSheet.Range("A3:B14").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatter
ActiveChart.ApplyLayout (4)
ActiveChart.Legend.Delete
Dim a As Range
Dim b As ChartObject
Set a = ActiveSheet.Range("D3:J19")
Set b = ActiveChart.Parent
b.Height = a.Height
b.Width = a.Width
b.Top = a.Top
b.Left = a.Left
问题是这只是一年中的一年,而且重复这段代码100次是没有意义的。
我希望我已经清楚地描述了这个问题,如果有人有解决方案来循环这个过程,那将非常有帮助。
答案 0 :(得分:0)
我假设您的数据在A列中按顺序排列。
我要做的是使用范围对象来表示范围的左上角,并使用偏移量。我还清理了你对select和active *的使用,这可能非常容易出错 。 Dim wksht As Worksheet 昏暗的细胞作为范围 Dim cht As Chart 昏暗的范围 Dim b As ChartObject
Set wksht = ActiveSheet
Set cell = wksht.Range("A3")
Do While (Not IsEmpty(cell))
cell.Resize(12, 2).Select
Set cht = wksht.Shapes.AddChart.Chart
With cht
.ChartType = xlXYScatter
.ApplyLayout (4)
.Legend.Delete
End With
Set a = cell.Offset(0, 3).Resize(17, 7)
Set b = cht.Parent
b.Height = a.Height
b.Width = a.Width
b.Top = a.Top
b.Left = a.Left
Set cell = cell.Offset(12, 0)
Loop