Вывод несколько графиков из одной таблицы, по определенному значению ячейки. - VB
Формулировка задачи:
привет
есть такое задание:
на первом листе формируется таблица сколько n количество строк и n количество столбцов.
в первом столбце начиная с А2 и ниже идут значения:
ГЗ01
ГЗ01
ГЗ02
ГЗ02
нужно построить 2 графика по значениям ГЗ01 и ГЗ02 захватив при этому всю строку до последней заполненной колонки А1-...
работающий код есть. но, он завязан на явное указание границ таблицы.
как отвязаться от букв?
попробовал:
где step, first - это счетчики
а NumColl это номер последнего столбца, вычесленный NumColl = ExecuteExcel4Macro("GET.DOCUMENT(12,""[макрос.xlsm]Лист1"")")
прилагаю таблицу, запускается по кнопке на первом листе. графики строятся на втором.
и вопрос еще один. как эти графики упорядочить, а то они друг на друга ложатся.
есть такое задание:
на первом листе формируется таблица сколько n количество строк и n количество столбцов.
в первом столбце начиная с А2 и ниже идут значения:
ГЗ01
ГЗ01
ГЗ02
ГЗ02
нужно построить 2 графика по значениям ГЗ01 и ГЗ02 захватив при этому всю строку до последней заполненной колонки А1-...
работающий код есть. но, он завязан на явное указание границ таблицы.
как отвязаться от букв?
попробовал:
где step, first - это счетчики
а NumColl это номер последнего столбца, вычесленный NumColl = ExecuteExcel4Macro("GET.DOCUMENT(12,""[макрос.xlsm]Лист1"")")
прилагаю таблицу, запускается по кнопке на первом листе. графики строятся на втором.
и вопрос еще один. как эти графики упорядочить, а то они друг на друга ложатся.
Решение задачи: «Вывод несколько графиков из одной таблицы, по определенному значению ячейки.»
textual
Листинг программы
Sub gibiz()
NumRows = ExecuteExcel4Macro("GET.DOCUMENT(10,""[макрос.xlsm]Лист1"")")
NumColl = ExecuteExcel4Macro("GET.DOCUMENT(12,""[макрос.xlsm]Лист1"")")
Dim x As Integer
A = Range("A2").Value
Range("A2").Select
step = 1
first = 2
For x = 0 To NumRows
If ActiveCell.Value = A Then
step = step + 1
Else
Response = MsgBox("Cells(NumColl, step)=" + CStr(Cells(NumColl, step)) + " first=" + CStr(first) + " step=" + CStr(step) + " iClm=" + CStr(iClm) + "Cells(NumColl, 1)=" + CStr(Cells(NumColl, 1)), vbInformation, vbOKOnly)
Sheets("Лист2").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Лист1").Range("A1:E1,A" + CStr(first) + ":E" + CStr(step))
'ActiveChart.SetSourceData Source:=Sheets("Лист1").Range(Sheets("Лист1").Range(Sheets("Лист1").Cells(1, 1).Value, Sheets("Лист1").Cells(NumColl, 1).Value), Sheets("Лист1").Range(Sheets"Лист1").Cells(1, first).Value, Sheets("Лист1").Cells(NumColl, step).Value))
'ActiveChart.SetSourceData Source:=Sheets("Лист1").Range("R1C1:R2C6")
Sheets("Лист1").Select
step = step + 1
first = step
A = ActiveCell.Value
End If
ActiveCell.Offset(1, 0).Select
Next
End Sub