1 Dim flag As Boolean 2 Sub test() 3 Dim ChrtObj As ChartObject, ws As Worksheet, i As Long 4 Set ws = Sheets("Лист1") 5 flag = False 6 If ws.ChartObjects.Count > 0 Then 7 ws.ChartObjects.Delete 8 End If 9 Set ChrtObj = ws.ChartObjects.Add(150, 70, 600, 400) 10 ChrtObj.Chart.ChartType = xlLine 11 ChrtObj.Chart.SeriesCollection.NewSeries 12 ChrtObj.Chart.SeriesCollection.NewSeries 13 ChrtObj.Chart.Axes(xlCategory).CategoryNames = ws.Range("A2:A102") 14 ChrtObj.Chart.Axes(xlCategory).AxisBetweenCategories = False 15 ChrtObj.Chart.HasTitle = True 16 i = 2 17 Do While True 18 ChrtObj.Chart.SeriesCollection(1).Values = ws.Range(ws.Cells(2, i), ws.Cells(102, i)) 19 ChrtObj.Chart.SeriesCollection(2).Values = ws.Range(ws.Cells(104, i), ws.Cells(204, i)) 20 ChrtObj.Chart.ChartTitle.Text = ws.Cells(1, i).Text 21 Start = Timer 22 Do While Timer < Start + 1 23 DoEvents 24 Loop 25 If flag Then Exit Sub 26 i = i + 1 27 If i > 11 Then i = 2 28 Loop 29 End Sub
30 Sub test2() 31 flag = True 32 End Sub
Заранее спасибо, так же буду благодарен, если посоветуете какой-либо источник информации по этому вопросу.
Дополнен 12 лет назад
Алекс Куха, то что вы написали неверно. даже мне понятно! Зачем писать, если не знаете?!
2 Sub test()
3 Dim ChrtObj As ChartObject, ws As Worksheet, i As Long
4 Set ws = Sheets("Лист1")
5 flag = False
6 If ws.ChartObjects.Count > 0 Then
7 ws.ChartObjects.Delete
8 End If
9 Set ChrtObj = ws.ChartObjects.Add(150, 70, 600, 400)
10 ChrtObj.Chart.ChartType = xlLine
11 ChrtObj.Chart.SeriesCollection.NewSeries
12 ChrtObj.Chart.SeriesCollection.NewSeries
13 ChrtObj.Chart.Axes(xlCategory).CategoryNames = ws.Range("A2:A102")
14 ChrtObj.Chart.Axes(xlCategory).AxisBetweenCategories = False
15 ChrtObj.Chart.HasTitle = True
16 i = 2
17 Do While True
18 ChrtObj.Chart.SeriesCollection(1).Values = ws.Range(ws.Cells(2, i), ws.Cells(102, i))
19 ChrtObj.Chart.SeriesCollection(2).Values = ws.Range(ws.Cells(104, i), ws.Cells(204, i))
20 ChrtObj.Chart.ChartTitle.Text = ws.Cells(1, i).Text
21 Start = Timer
22 Do While Timer < Start + 1
23 DoEvents
24 Loop
25 If flag Then Exit Sub
26 i = i + 1
27 If i > 11 Then i = 2
28 Loop
29 End Sub
30 Sub test2()
31 flag = True
32 End Sub
Заранее спасибо, так же буду благодарен, если посоветуете какой-либо источник информации по этому вопросу.