powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / автоматизация построения графика
2 сообщений из 2, страница 1 из 1
автоматизация построения графика
    #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
автоматизация построения графика
    #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
2 сообщений из 2, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / автоматизация построения графика
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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