powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Работа с массивом!
19 сообщений из 19, страница 1 из 1
Работа с массивом!
    #38258607
Евжекий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте коллеги подскажи пожалуйста как сделать такой велосипед: я задаю массив n-размерностью, затем мне нужно допустим считать в этот массив значения определенных ячеек одного столбца запомнить их и суммировать между собой.
Вот пример:
Код: php
1.
2.
3.
4.
5.
6.
7.
Янв    168,86
Фев    143,32
Март   3214,11  
Янв    53465,86
Март   756,98
Фев    312,22
Фев    644,34


И нужно подсчитать суммы для Янв, Фев и Март - отдельно коллеги, подсобите!
...
Рейтинг: 0 / 0
Работа с массивом!
    #38258622
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллега, а о каком столбце идет речь? Где он, в БД, на листе Экселя, в таблице Ворда, в текстовом файле на диске?

Обязательно ли их помещать в массив? Думаю, что есть более простой способ посчитать сумму (в зависимости от того, откуда берутся данные)

Ну посчитали мы сумму, дальше что с ней сделать? Записать в файл, на лист, вывести на экран, в окно отладки, другие варианты?


Я написал сейчас текста больше, чем в твоем вопросе. Не жалей букв на то, чтобы сформулировать свой вопрос подробно, если, конечно, интересует результат, а не процесс
...
Рейтинг: 0 / 0
Работа с массивом!
    #38258639
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нужно подсчитать суммы для Янв, Фев и Март - Сводная таблица.
...
Рейтинг: 0 / 0
Работа с массивом!
    #38258688
Евжекий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллега,да извиняюсь эти значения находятся на "Листе1" ниже я прикрепил картиночку как это выглядит.
...
Рейтинг: 0 / 0
Работа с массивом!
    #38258701
Евжекий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А подсчет выводить это я смогу, по сути на другой лист,мне нужно распилить имеенно запоминание этих значений и их суммирование коллеги!
...
Рейтинг: 0 / 0
Работа с массивом!
    #38258918
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евжекийраспилить ... запоминание ... и их суммированиенепонятно, на первый взгляд здесь действительно достаточно сводной таблицы
...
Рейтинг: 0 / 0
Работа с массивом!
    #38259302
Volodbka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub pluseg()
Dim a$(100)
Dim b$(100)
Dim c$(100)
For i% = 1 To 100
a$(i%) = Cells(i%, 1)
b$(i%) = Cells(i%, 2)
c$(i%) = a$(i%) & "+" & b$(i%)
Cells(i%, 3) = c$(i%)
Next i%
End Sub
...
Рейтинг: 0 / 0
Работа с массивом!
    #38259494
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Volodbka,
но можно и попроще:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Sub pluseg2()
    Dim m As Variant, i As Byte
    m = Range("A1:B100")
    For i = 1 To 100
        Cells(i, 3) = m(i, 1) & "+" & m(i, 2)
    Next
End Sub
...
Рейтинг: 0 / 0
Работа с массивом!
    #38259679
Евжекий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не не не товарищи, это что тогда за ересь получается, по вашим примерам суммируется месяц со значением: Янв + 168,86 <-Вот что получается, а мне нужно чтобы подсчет велся таким образом:
Код: php
1.
2.
3.
Янв  168,86+53465,86      = ИТОГ
Фев  143,32+312,22+644,34 = ИТОГ
Март 3214,11+756,98       = ИТОГ
...
Рейтинг: 0 / 0
Работа с массивом!
    #38259814
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Повторю еще раз свой вопрос - обязательно ли нужен КОД? Почему недостаточно сводной таблицы?
Если нужен КОД, то обязательно ли работать с МАССИВОМ? Это проще и быстрее делается с помощью SQL-запроса.
...
Рейтинг: 0 / 0
Работа с массивом!
    #38259848
Евжекий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код нужен как "слепому зрение" очень нужен коллега, работать с массивами "Да" иначе никак, а при чем тут SQL я же не с БД работаю коллега!
...
Рейтинг: 0 / 0
Работа с массивом!
    #38259863
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЕвжекийКод нужен как "слепому зрение" очень нужен коллега, работать с массивами "Да" иначе никак, а при чем тут SQL я же не с БД работаю коллега!
"коллега" - "тёмный, шо антрацит"
методами БД (в частности через SQL) можно "работать" и с текстовыми файлами, не то, что с Экселем ...
...
Рейтинг: 0 / 0
Работа с массивом!
    #38259942
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробуйте.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub bb()
Dim Mon(), Dat(), i&
Mon = Range("A1", Cells(Rows.Count, "B").End(xlUp)).Value
With CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(Mon)
        .Item(Mon(i, 1)) = .Item(Mon(i, 1)) + Mon(i, 2)
    Next
    Mon = .keys     'массив месяцев
    Dat = .items    'массив сумм
End With
End Sub
...
Рейтинг: 0 / 0
Работа с массивом!
    #38259982
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евжекийа при чем тут SQL я же не с БД работаю коллега!Коллега, раз задаешь вопрос на форуме, прислушивайся к ответам, а не спорь, иначе зачем ты это делаешь?

вот пример с SQL и с массивом
Код: 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.
Private Type Ans
  Month As String
  Sum As Currency
End Type
Dim Ar() As Ans

Sub t()

Dim cn As Object, rs As Object, i As Integer
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ThisWorkbook.FullName + ";Extended Properties='Excel 8.0'"
rs.Open "select Month, Sum(Value) AS Sm from [&#203;&#232;&#241;&#242;1$] group by Month order by Month", cn, 3

перегружаем в массив, раз так хочется
i = 0
Do Until rs.EOF
  ReDim Preserve Ar(i)
  Ar(i).Month = rs("Month")
  Ar(i).Sum = rs("Sm")
  Debug.Print Ar(i).Month, Ar(i).Sum
  i = i + 1
  rs.MoveNext
Loop

rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing

End Sub

Столбцы, соответственно, должны быть озаглавлены Month и Value
...
Рейтинг: 0 / 0
Работа с массивом!
    #38260080
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, у меня создаётся впечатление, что ТС не знает даже о существовании формул листа в Excel (как и о том, что эти формулы можно прописать в коде), и все расчеты производит через VBA.
Поскольку ему нужно элементарное =СУММ(<диапазон>) ...
...
Рейтинг: 0 / 0
Работа с массивом!
    #38260094
mdkChaos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если точнее то, =СУММЕСЛИ(диапазон;критерий;[диапазон_суммирования])
...
Рейтинг: 0 / 0
Работа с массивом!
    #38260297
Евжекий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги благодарю за активную дискуссию, а про формулы эти СУММ,СУММЕСЛИ и подобную шляпу я знаю, но это не то что мне нужно я пробираюсь в дебри другим более тернистым путем, так что AndreTM - уважаемый коллега тут вы ошибаетесь, ну а так вы все красавчики, буду бица дальше, за мои прискорбные диалоги извиняюсь коллеги!
...
Рейтинг: 0 / 0
Работа с массивом!
    #38260306
Евжекий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллега Shocker.Pro благодарю за прислушивание к вам, учту а ваш "ух какой метод" я конечно попробую, но не гарантирую что он мне понравится.
...
Рейтинг: 0 / 0
Работа с массивом!
    #38260360
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвжекийКоллега Shocker.Pro благодарю за прислушивание к вам, учту а ваш "ух какой метод" я конечно попробую, но не гарантирую что он мне понравится.Он понравится, если будет очень большое количество данных, ибо это очень быстрый способ
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Работа с массивом!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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