Всем добрый день. Если кому не трудно, прошу помочь: Есть несколько счетов, в которых повторяются изделия в производство. В приложенном примере при помощи транспонирования и формул преобразовал в горизонтальный ряд. Как можно сделать нужную вертикальную таблицу без промежуточных вычислений нажатием одной кнопки? Консолидация не помогает - суммирует и артикулы. В написании макросов я профан. Этим надо заниматься постоянно, а я сталкиваюсь с ними крайне редко. Могу только использовать их в работе. Заранее спасибо.
"Консолидация" данных
30.07.2013 11:44:49
|
|
|
|
30.07.2013 11:53:07
а под одним артикулом всегда только одно изделие, или может быть и больше?
|
|
|
|
30.07.2013 11:56:15
Только одно, но случайно может оказаться так, что написано с ошибкой.
|
|
|
|
30.07.2013 12:06:38
как вариант можно сделать и без макроса
Вы можете создать таблицу, где будут все возможные артикулы, и воспользоваться формулой суммесли. один раз задать фильтр по непустым значениям, а далее просто обновлять фильтр
Изменено: |
|
|
|
30.07.2013 12:09:51
А чем не устраивает сводная таблица?
![]() |
|
|
|
30.07.2013 12:20:34
Вроде все отлично. Попробую сам. Если будут вопросы, обращусь, Спасибо.
|
|
|
|
30.07.2013 13:37:09
по сводной таблице правой кнопкой - "параметры сводной таблицы" - "вывод" - "класический макет сводной таблицы"
|
|
|
|
30.07.2013 13:38:41
а потом можно еще "параметры поля" и выбрать "нет"
|
|
|
|
30.07.2013 13:50:44
Все получилось. Всем большая благодарность. Оба варианта легко и просто.
|
|
|
|
30.07.2013 17:02:58
Как вариант транспонировать.
|
|
|
|
01.08.2013 10:39:28
Попробовал решить задачу при помощи макросов и VBA. Почти получилось, но не могу просуммировать ячейки из листа счетов в колонке кол-во, Может, подскажете, где ошибка? Спасибо
|
|
|
|
01.08.2013 11:29:08
В какой процедуре, куда и что нужно посчитать?
|
|
|
|
01.08.2013 16:02:20
Пропадал интернет. На листе "Сводная" в столбце кол-во надо просуммировать количество из листа "Счета" для тех артикулов, которые повторяются в разных счетах. Они собраны из 1С в одну колонку.Те, которые не повторяются, просто надо подставить. При нажатии кнопки "Удалить дубликаты артикулы копируются с листа счетов и удаляются дубликаты.При нажатии кнопки "Заполнить таблицу" должны заполниться колонки "Наименование", "Ед.изм." и "Кол-во" в сводной. Но у меня вместо кол-ва идут нули.В Сообщении 129 это выполнено при помощи СУММЕСЛИ. Я попробовал добавить строку....Application.WorksheetFunction.SumIf([A:A], Артикул, [Z:Z]). А как надо правильно?
|
|
|
|
01.08.2013 21:18:20
1. Что за сообщение 129? Пока вижу нумерацию сообщений только до 14.
2. Зачем проверяется цвет заливки? В таблице не вижу заливки. 3. Какая задача макроса на кнопке "Заполнить таблицу"? Собрать уникальные артикулы и посчитать столбец количество? |
|
|
|
01.08.2013 21:28:13
Прошу прощения, ошибся. №4
Проверка цвета на всякий случай По 3-му вопросу: При нажатии кнопки "Заполнить таблицу" должны заполниться колонки "Наименование", "Ед.изм." и "Кол-во" в сводной. "Наименование", "Ед.изм." заполняются правильно, дальше ошибка. У меня вроде получилось методом тыка, прикладываю файл. Но может есть более красивый вариант? Повторяюсь: Впервые
Изменено: |
|
|
|
01.08.2013 21:35:39
Для начала неплохо, но...
- уходите от Select - это очень замедляет работу макросов. - объявляйте переменные и их тип. А вот с таблицей-отчётом я так и не понял: на первый взгляд она дублирует исходную. Вы не заметили, я Вам ещё и третий вопрос задавал? )) |
|
|
|
01.08.2013 21:43:21
В листе "Счета" собраны счета от разных заказчиков, которые выполнены в 1С Поэтому и структура первого листа повторяет счет . Там много повторяющихся. Я хочу их просуммировать для исполнения
|
|
|
|
01.08.2013 21:47:27
Иля я бестолково формулирую вопрос или Вы меня не понимаете. Попробую ещё раз. Последний.
Требуется отобрать в таблицу ТОЛЬКО уникальные артикулы и посчитать общее количество по каждому уникальному. Так? |
|
|
|
01.08.2013 21:48:17
Ну да, точно так
|
|
|
|
01.08.2013 21:53:40
Тогда я бы отбирал уникальные в коллекцию, цикл по ней, вложенный цикл по диапазону/массиву - про совпадении суммировать количество.
|
|
|
|
01.08.2013 21:59:48
А можете показать, как это делать?
|
|
|
|
01.08.2013 22:21:24
Могу - см. файл. Кнопка удаления дубликатов теперь не нужна. Если исходных данных ОЧЕНЬ много (тысячи строк), то лучше использовать массивы - будет быстрее.
|
|
|
|
01.08.2013 22:30:57
Красота. Буду разбираться. Низкий поклон
|
||||
|
|
|||
Читают тему