Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Создание графиков по неизвестному количеству данных / 2 сообщений из 2, страница 1 из 1
06.02.2006, 13:47:25
    #33525824
Zakin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание графиков по неизвестному количеству данных
Помогите, пожалуйста... Столкнулся с такой проблемной на работе, и не знаю как её решить думаю, что для вас это будет не сложно. Из программы телеметрии выгружается в Excel 3 столбца данных в таком виде ....

2032 работа 5:59:47
2032 отстой 5:00:17
2032 работа 5:59:45
2032 отстой 4:59:53
2032 работа 6:00:10
2032 отстой 2:25:46

1032 отстой 5:00:17
1032 работа 5:59:50

1054 работа 5:54:23
1054 отстой 7:42:54
1054 работа 5:55:37
1054 отстой 9:35:08

Надо при помощи макросов создать 3 графика (каждый на отдельном листе) по столбикам (один столбик "работа" другой "отстой"). Первый столбец название графика.

Проблема в том что количество столбиков постоянно меняется, их может быть (как на примере 1график - 6 столб, 2 график - 2 столб, 3 граф - 4 столб), а может с совсем по-другому. Надо как-то задать программе, когда есть свободная строка - начинать делать следующий график (на новом листе).

Конечно, если бы графиков было 3 проблем бы не было, можно было бы сделать и в ручную, но всего таких отрывков программа выгрузит около 115, и делать в ручную 115 графиков очень долго. Спасибо!
...
Рейтинг: 0 / 0
13.02.2006, 11:15:28
    #33540211
Создание графиков по неизвестному количеству данных
Код: plaintext
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.
28.
29.
30.
31.
32.
33.
34.
Sub CreateCharts()

    Dim ws As Worksheet
    Dim rng As Range
    Dim cel As Range
    Dim cht As Chart
    Dim strFirst As String
    Dim bln As Boolean
    
    Set ws = Worksheets("Лист1")
    Set rng = ws.Range("A1:C14")
    Set rng = rng.Resize(rng.Rows.Count +  1 , rng.Columns.Count)
    
    For Each cel In rng.Columns( 2 ).Cells
        If Not IsEmpty(cel) Then
            If Not bln Then
                strFirst = cel.Address
                bln = Not bln
            End If
        Else
            Set cht = Application.Charts.Add
            With cht
                .ChartType = xlColumnClustered
                .SetSourceData ws.Range( _
                  strFirst & ":" & cel.Offset(- 1 ,  1 ).Address)
                .PlotBy = xlRows
                .Location _
                  Where:=xlLocationAsNewSheet, Name:=cel.Offset(- 1 , - 1 )
                .HasTitle = True
                .ChartTitle.Characters.Text = cel.Offset(- 1 , - 1 )
            End With
            bln = Not bln
        End If
    Next cel
End Sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Создание графиков по неизвестному количеству данных / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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