Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / автоматизация построения графика / 2 сообщений из 2, страница 1 из 1
22.12.2017, 12:33
    #39574371
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматизация построения графика
Добрый день!

Прошу помочь с автоматизацией следующих действий на начальных данных (см спойлер):
1 шаг: начальные данные выбираются на листе excel;
2 шаг: начальные данные сортируются по убыванию показателя U22;
3 шаг: на основании отсортированного массива рассчитываются показатели Xi и Yi. Причем Xi - отношение счёта накопительным итогом к количеству строк по колонке Y11 (формула =СЧЁТ($BE$4:BE5)/СЧЁТ($BE$4:$BE$32) ), а Yi - сумма накопительным итогом к общей сумме по колонке Y11 (формула =СУММ($BE$4:BE5)/СУММ($BE$4:$BE$32));
4 шаг: по данным Xi и Yi формируется точечная диаграмма, причем в ней значения x=Xi, значения y=Yi.

Надо как-то загнать начальные данные в массив VB. я уж позабыл все =)))
Можете накидать пару ключевых строк кода по теме, красоту с формами и графиками я, понятно дело, сам наведу
Заранее спасибо!

"начальные данные"Y11U2210,0001110,0000010,0000010,0000020,0000030,0048340,0000040,0000750,0000050,0009950,0000060,0007260,0036860,0000060,0001070,0000080,0000080,0024280,0000090,0004490,0000190,0036390,0012890,00228100,00091100,00996100,01942110,03672130,00674
...
Рейтинг: 0 / 0
30.12.2017, 03:48
    #39578162
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматизация построения графика
PlanBзагнать начальные данные в массив VB
Код: 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.
28.
29.
30.
Type arrYU
    Y11 As Integer
    U22 As Double
End Type


Sub Макрос1()
    
    Dim arr() As arrYU
    
    Dim RowMax As Long
    With ThisWorkbook.Worksheets("Лист1").UsedRange
         RowMax = .Rows.Count + .Row - 1
    End With
    
    Dim stroki As Range, rng As Range
    Set stroki = ThisWorkbook.Worksheets("Лист1").Range("A2", "A" & RowMax)
    
    Dim i As Integer
    
    For Each rng In stroki
        ReDim Preserve arr(i)
        arr(i).Y11 = rng.Value
        arr(i).U22 = rng.Offset(0, 1).Value
        i = i + 1
    Next
    
...

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


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