Форум программистов, компьютерный форум, киберфорум
Наши страницы

VBA

Войти
Регистрация
Восстановить пароль
 
thegrtbug
0 / 0 / 0
Регистрация: 24.04.2018
Сообщений: 8
#1

Сортировка таблицы по нескольким столбцам - VBA/Excel

24.04.2018, 16:08. Просмотров 70. Ответов 6
Метки нет (Все метки)

Добрый день! Появилась необходимость рассортировать рабочую таблицу: поскольку объем данных большой, и со временем будет только расти, решил попробовать автоматизировать процесс.
Имеется: таблица, в которой столбец А содержит производителя, стобец B - товар, столбец C - цену товара.
Нужно рассортировать по типу производитель-товар, и сколько всего стоят однотипные товары от одного производителя.
В целом, вижу это так: функция обращается к ячейке A1 (или А2, если первая строка - заголовок), считывает из нее "производителя", после чего переходит к А2 и сопоставляет с записанным значением, и так до первого несоответствия (к примеру, получаются ячейки A1:A5 - один производитель). Соответственно, дальше переходит в столбец B1, и проделывает те же операции (получив B1:B3 и B4:B5 - два товара); затем по каждому из полученных диапазонов происходит суммирование из столбцов (C1:C3 и C4:C5 соответственно примеру). Нужна помощь форумчан в реализации кода, поскольку с VBA сталкиваюсь впервые
не пинать

func1
i=1
Do while ячейка (i, "A") не пустая
j=i
Do while значение в ячейке (i, "A") = значение в ячейке (j, "A")
i = i + 1
loop
func2 (i,j)
Do while ячейка (i, "B") не пустая
j=i
Do while значение в ячейке (i, "B") = значение в ячейке (j, "B")
i = i + 1
loop
func3 (i,j)
суммирование ячеек (j,"C") и (i, "C")
вывод на отдельный лист
loop
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2018, 16:08
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Excel Сортировка таблицы по нескольким столбцам (VBA):

Сортировка строк таблицы по нескольким столбцам - VBA
Доброго времени суток. Имеется код сортировки по одному столбцу. Sheets("Общие списки").Copy After:=Sheets("Общие списки") ...

Сортировка по нескольким столбцам - VBA
Здравствуйте, есть хорошая функция для сортировки по нескольким столбцам: Sub ColorSort() Columns("A:D").sort key1:=Range("A2"),...

Как сравнить 2 таблицы по нескольким столбцам - VBA
Доброго времени суток. Есть 2 на листах "In_data" и "One_price" нужно : 1. сравнить их сначала по столбцу "А" обе таблицы, 2. если...

Поиск дубликатов строк по нескольким столбцам - VBA
Добрый день уважаемые форумчане! Имеется excel файл с двумя листами X и Y. Лист Y содержит 13 столбов (в скором времени их станет...

Сравнить данные по нескольким столбцам одновременно - VBA
Всем привет, помогите подогнать на сравнение не только по столбцу "А", а по "A:B" следующий пример Sub Main() Dim i As...

Сортировка по двум столбцам - VBA
Всем привет. Я в VBA новичок, есть одно задание: Есть таблица рейсов аэропорта. Нужно сортировать таблицу по столбцу B(откуда) и...

6
Казанский
13824 / 5587 / 1414
Регистрация: 24.09.2011
Сообщений: 8,764
24.04.2018, 16:30 #2
thegrtbug, файл-пример приложите: что есть - как надо.
0
thegrtbug
0 / 0 / 0
Регистрация: 24.04.2018
Сообщений: 8
24.04.2018, 16:46  [ТС] #3
[ATTACH="Пример"]931506[/ATTACH]
0
Вложения
Тип файла: xlsx Пример.xlsx (11.2 Кб, 1 просмотров)
Казанский
13824 / 5587 / 1414
Регистрация: 24.09.2011
Сообщений: 8,764
24.04.2018, 17:09 #4
thegrtbug, сводная таблица - делается в 4 клика и 3 "перетаскивания"
0
Вложения
Тип файла: xlsx Пример040.xlsx (14.3 Кб, 1 просмотров)
thegrtbug
0 / 0 / 0
Регистрация: 24.04.2018
Сообщений: 8
24.04.2018, 17:12  [ТС] #5
Боюсь, в качестве примера и сводная таблица подходит, да вот в исходной задаче количество строк >1000. Но за идею со сводной таблицей спасибо, для небольших объемов действительно актуально.
0
Казанский
13824 / 5587 / 1414
Регистрация: 24.09.2011
Сообщений: 8,764
24.04.2018, 17:16 #6
thegrtbug, как раз на больших объемах Сводная работает намного быстрее, чем формулы и макросы. А для очень больших объемов (больше миллиона записей) существует PowerQuery.
0
thegrtbug
0 / 0 / 0
Регистрация: 24.04.2018
Сообщений: 8
24.04.2018, 17:43  [ТС] #7
Спасибо!
0
24.04.2018, 17:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2018, 17:43
Привет! Вот еще темы с ответами:

Форматирование таблицы (текст по столбцам) - VBA
Доброго дня. Помогите пожалуйста написать макрос для форматирования таблицы вида: 1 столбец - "Дата записи" 2 столбец - Номера...

Сортировка по нескольким колонкам листа Excel - VBA
Задача отсортировать при помощи VBScript по двум колонкам лист Excel, поиск ничего не дал :( Если убрать второе условие, все ОК, если...

Макрос, распределяющий значения одной таблицы по столбцам другой - VBA
Доброе время суток, нужна ваша помощь, хотя бы что бы подсказали с чего начать). У меня стоит задача, создать макрос которые будет выбирать...

Скопировать и отсортировать данные по двух столбцам из одной таблицы в другую - VBA
Здравствуйте! Есть небольшая задача/практическая проблема, которую мне, лютому новичку в VBA решить пока не удалось. Итак: есть...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru