Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 10.08.2022
Сообщений: 18
Excel

Переделка макроса Суммирование значений со второй колонки при совпадении строк в первой колонки

22.08.2022, 21:50. Показов 1283. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нашел макрос он супер только не суммирует значения. он их вписывает в строку.

Как его можно исправить ?


Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim x, v(), u(), i&
With CreateObject("scripting.dictionary")
    v = ActiveSheet.UsedRange.Columns(3).Value
    u = ActiveSheet.UsedRange.Columns(4).Value
    For Each x In v
        i = i + 1
        .Item(x) = .Item(x) & vbLf & u(i, 1)
    Next
    i = 0
    Worksheets.Add
    Columns(2).ColumnWidth = 40
    For Each x In .keys
        i = i + 1
        Cells(i, 1) = x
        Cells(i, 2) = Mid(.Item(x), 2)
    Next
End With
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.08.2022, 21:50
Ответы с готовыми решениями:

Поиск значений из поля (колонки) в поле исходной таблицы и удаление строк при совпадении
Добрый день специалисты по excel. Прошу помощи в следующей задачке, которую надо решить именно средствами Excel'я, в котором я не слишком...

Определить, что определенной ячейке первой колонки соответствует столько то значений из второй
Доброго времени суток! Имеется сводная таблица. Каждому значению первой колонки соответствует одно или несколько значений второй. ...

почему текст второй колонки встает под первой при уменьшении окна в браузере?
<div id="wrap"> <div id="column1" > <pre style="clear:both; text-align:justify"> Некий текст большой<pre> </div> <div...

15
349 / 190 / 108
Регистрация: 01.04.2020
Сообщений: 538
23.08.2022, 00:27
Цитата Сообщение от apmacison Посмотреть сообщение
Нашел макрос он супер только не суммирует значения. он их вписывает в строку.
Как его можно исправить ?
Если макрос не выполняет то что хотите, значит не тот макрос нашли.
Лучше бы сделали внятное задание: что у вас есть, какие данные,
как расположены и чего хотите достич в итоге. В идеале с файлом-примером.
Это был хороший шаг к исправлению. Иначе вряд ли кто-то поймёт что хотите.

Добавлено через 1 час 29 минут
Цитата Сообщение от elixi Посмотреть сообщение
Это был хороший шаг к исправлению.
Это был бы хороший шаг к исправлению.
0
0 / 0 / 0
Регистрация: 10.08.2022
Сообщений: 18
23.08.2022, 11:18  [ТС]
Есть таблица 4 столбца, первый номер по порядку, второй дата, третий наименование, а четвертый количество.
это данные вводиться на протяжении месяца, а в конце месяца нужно создать отчет.
На новом листе нужно вывести все наименования и количество, при нажатии на кнопку отчет на первом листе. много наименований может повторяться и они могут быть в разных строках поэтому вывести сумму повторяющихся наименований.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
23.08.2022, 12:06
Visual Basic
1
.Item(x) = .Item(x) & vbLf & u(i, 1)
заменить & vbLf & на +
0
0 / 0 / 0
Регистрация: 10.08.2022
Сообщений: 18
23.08.2022, 12:17  [ТС]
я пытался, но подсчет и отображение идет не правильно
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
23.08.2022, 12:19
Тогда читай внимательно сообщения:
Цитата Сообщение от elixi Посмотреть сообщение
что у вас есть, какие данные,
как расположены и чего хотите достич в итоге. В идеале с файлом-примером.
0
0 / 0 / 0
Регистрация: 10.08.2022
Сообщений: 18
23.08.2022, 12:25  [ТС]
Вот таблица
Вложения
Тип файла: xlsx прием товара.xlsx (6.4 Кб, 8 просмотров)
0
349 / 190 / 108
Регистрация: 01.04.2020
Сообщений: 538
23.08.2022, 13:03
apmacison, файл пустoй.
Пo вашему oписанию в пoсте 3, пoлагаю, чтo задачу мoжнo успешнo решить вставкoй свoднoй таблицы.
Есть такoе чудo в Эксцеле. Не прoбoвали? Если хoтите макрoс, мoжнo включить макрoрекoрдер и дoстанется вам и макрoс.
0
0 / 0 / 0
Регистрация: 10.08.2022
Сообщений: 18
23.08.2022, 13:08  [ТС]
Я то смогу, но есть девочки которые в магазине, а им не до этого поэтому хочу что бы им было лучше. Нажали кнопку, и отправили хозяйке.
Вложения
Тип файла: zip прием товара.zip (23.7 Кб, 22 просмотров)
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
23.08.2022, 16:21
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub ot4et()
 
 
Dim x, v(), u(), i&, sl
Set sl = CreateObject("scripting.dictionary")
    v = ActiveSheet.UsedRange.Value
 
    For i = 2 To UBound(v)
        sl(v(i, 3)) = sl(v(i, 3)) + v(i, 4)
    Next
    
    u = sl.keys
    Worksheets.Add
    Columns(1).ColumnWidth = 50
    Columns(2).ColumnWidth = 40
    
    For i = 0 To UBound(u)
        Cells(i + 1, 1) = u(i)
        Cells(i + 1, 2) = sl(u(i))
    Next
 
End Sub
0
0 / 0 / 0
Регистрация: 10.08.2022
Сообщений: 18
28.08.2022, 17:13  [ТС]
а как можно что бы еще одна колонка переносилась? допустим если вместо даты будет поставщик, что бы понимать от кого.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
28.08.2022, 19:50
Цитата Сообщение от apmacison Посмотреть сообщение
Нашел макрос он супер только
сто пудов не надо искать макрос под свою задачу!
надо озвучить что ты хочешь ожидать от макроса!
0
0 / 0 / 0
Регистрация: 10.08.2022
Сообщений: 18
28.08.2022, 21:37  [ТС]
этот макрос который вы написали он супер, и все делает как нужно просто я хочу заменить вторую колонку вместо даты поставить поставщика, и что бы он переносил данные для отчета. Первая колонка поставщик, потом товар и суммировал
количество если товар совпадает.
0
349 / 190 / 108
Регистрация: 01.04.2020
Сообщений: 538
29.08.2022, 00:39
Цитата Сообщение от apmacison Посмотреть сообщение
просто я хочу заменить вторую колонку вместо даты поставить поставщика
apmacison, а с девочками из магазина и хозяйкой вы посоветовались? Вы уверены что вам позволят заменить вторую колонку?
0
0 / 0 / 0
Регистрация: 10.08.2022
Сообщений: 18
29.08.2022, 11:44  [ТС]
да я посоветовался, это предложении хозяйки)
0
349 / 190 / 108
Регистрация: 01.04.2020
Сообщений: 538
29.08.2022, 13:29
Лучший ответ Сообщение было отмечено apmacison как решение

Решение

Цитата Сообщение от apmacison Посмотреть сообщение
да я посоветовался, это предложении хозяйки)
тогда возможно так?:

Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub ot4et()
Dim x, v(), u(), i&, sl, d$
Set sl = CreateObject("scripting.dictionary")
    v = ActiveSheet.UsedRange.Value
 
    For i = 2 To UBound(v)
        d = v(i, 2) & "#" & v(i, 3)
        sl(d) = sl(d) + v(i, 4)
    Next
    
    u = sl.keys
    Worksheets.Add
    For i = 0 To UBound(u)
        Cells(i + 1, 1) = Mid(u(i), 1, InStr(u(i), "#") - 1)
        Cells(i + 1, 2) = Mid(u(i), InStr(u(i), "#") + 1, Len(u(i)))
        Cells(i + 1, 3) = sl(u(i))
    Next
    Columns("A:C").AutoFit
End Sub
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.08.2022, 13:29
Помогаю со студенческими работами здесь

Как определить сумму значений одной колонки в рамках значений другой колонки?
Как определить сумму значений одной колонки в рамках значений другой колонки c# datagridview через bindingSource.

2 колонки, где 1 колонка 2 строки, и 2-я колонка 1 строка высотой первой колонки
вот есть такая табличка <table border="1"> <tr> <td rowspan="2">big column</td> ...

Выполнить сложение значений второй колонки внутри функции
Нужно выполнить сложение значений второй колонки внутри функции. Приветствую, знатоки. Необходима ваша помощь, долго бьюсь над...

Из второй колонки первой строки во вторую колонку второй строки???
Всем доброго времени суток. Не могу решить задачу, может кто подскажет? Есть таблица с Тремя колонками, Секции, Поле1 и Поле2. В...

Сreative 5.1 - при проигровании музыки работают 2 фронтальные колонки и саб, остальные колонки молчат
Здравствуйте Купил аудиосистему Сreative 5.1, поставил в комп карту SB Сreative audigy SE 5.1, дрова установил, и вот в чем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru