Добрый день уважаемые форумчане! Столкнулся с проблемой построения нескольких графиков по данным с разных листов.
На итоговом листе graf строятся графики по данным с листов list1 и list2. В графике со второго листа (list2) EXCEL неправильно выставляет вертикальную шкалу и, соответственно, неправильно строятся сами графики
Код |
---|
Sub graf_1()
Worksheets("list1").Select
Application.ScreenUpdating = False: On Error Resume Next
Dim ra_n1 As Range: Set ra_n1 = Range(Worksheets("list1").Cells(2, 1), Range("A" & Rows.Count).End(xlUp))
Dim ra_1 As Range: Set ra_1 = Range(Worksheets("list1").Cells(2, 2), Range("D" & Rows.Count).End(xlUp))
' Dim ra_2 As Range: Set ra_2 = Range(Worksheets("list1").Cells(2, 5), Range("G" & Rows.Count).End(xlUp))
' Dim ra_3 As Range: Set ra_3 = Range(Worksheets("list1").Cells(2, 8), Range("I" & Rows.Count).End(xlUp))
ChartTop = 20
txt1 = "Title 1"
' txt2 = "Title 2"
' txt3 = "Title 3"
CreateChart ra_n1, ra_1, ChartTop, txt1: ChartTop = ChartTop + 220
' CreateChart ra_n1, ra_2, ChartTop, txt2: ChartTop = ChartTop + 220
' CreateChart ra_n1, ra_3, ChartTop, txt3: ChartTop = ChartTop + 220
Worksheets("list2").Select
Dim ra_n2 As Range: Set ra_n2 = Range(Worksheets("list2").Cells(2, 1), Range("A" & Rows.Count).End(xlUp))
Dim ra_4 As Range: Set ra_4 = Range(Worksheets("list2").Cells(2, 2), Range("E" & Rows.Count).End(xlUp))
txt4 = "Title 4"
CreateChart ra_n2, ra_4, ChartTop, txt4: ChartTop = ChartTop + 220
Worksheets("graf").Cells(1, 1).Select
End Sub
Sub CreateChart(ByRef ra1 As Range, ByRef ra2 As Range, ByVal ChartTop, ByVal Caption)
Dim MyCh As Chart ' (Left, Top, Width, Height)
Set MyCh = ra1.Parent.ChartObjects.Add(10, ChartTop, 600, 200).Chart
MyCh.SeriesCollection.Add Source:=ra2, RowCol:=xlColumns 'Добавить ряды данных
MyCh.ChartType = xlLineStacked ' тип диаграммы
MyCh.Axes(xlCategory).CategoryNames = ra1 'Изменить ось категорий
MyCh.HasLegend = True ' легенда
MyCh.HasTitle = True: MyCh.ChartTitle.Characters.Text = Caption ' заголовок
MyCh.Location Where:=xlLocationAutomatic, Name:="graf"
End Sub
|
В чем ошибка ?