Вывод несколько графиков из одной таблицы, по определенному значению ячейки. - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д