Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / вывод несколько графиков из одной таблицы, по определенному значению ячейки. / 3 сообщений из 3, страница 1 из 1
19.09.2013, 18:04
    #38401956
gibizov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вывод несколько графиков из одной таблицы, по определенному значению ячейки.
привет

есть такое задание:
на первом листе формируется таблица сколько n количество строк и n количество столбцов.
в первом столбце начиная с А2 и ниже идут значения:
ГЗ01
ГЗ01
ГЗ02
ГЗ02
нужно построить 2 графика по значениям ГЗ01 и ГЗ02 захватив при этому всю строку до последней заполненной колонки А1-...
работающий код есть. но, он завязан на явное указание границ таблицы.
Код: vbnet
1.
ActiveChart.SetSourceData Source:=Sheets("Лист1").Range("A1:E1,A" + CStr(first) + ":E" + CStr(step))



как отвязаться от букв?

попробовал:
Код: vbnet
1.
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))



где step, first - это счетчики
а NumColl это номер последнего столбца, вычесленный NumColl = ExecuteExcel4Macro("GET.DOCUMENT(12,""[макрос.xlsm]Лист1"")")


прилагаю таблицу, запускается по кнопке на первом листе. графики строятся на втором.
и вопрос еще один. как эти графики упорядочить, а то они друг на друга ложатся.
...
Рейтинг: 0 / 0
20.09.2013, 09:57
    #38402408
gibizov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вывод несколько графиков из одной таблицы, по определенному значению ячейки.
ВЕСЬ КОД
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
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

...
Рейтинг: 0 / 0
20.09.2013, 17:55
    #38403098
gibizov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вывод несколько графиков из одной таблицы, по определенному значению ячейки.
придумал, другой вариант. все работает.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / вывод несколько графиков из одной таблицы, по определенному значению ячейки. / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]