Здравствуйте. У меня есть табличка, где я считаю массу арматуру. В конце мне необходимо сложить одинаковый диаметр(%%с6, %%с8 и т.д.) и одинаковый класс арматуры (AI или AIII). Можно ли просуммировать их по этим критериям так что бы каждый раз не делать это вручную(иногда ошибаешься) с тем учётом что может быть много разных позиций, а не только эти с 1-го по 17-тй. А может быть и 5 и 50. Образец на 1-ом листе, то что хотелось бы получить на 2-ом листе.
Здравствуйте. У меня есть табличка, где я считаю массу арматуру. В конце мне необходимо сложить одинаковый диаметр(%%с6, %%с8 и т.д.) и одинаковый класс арматуры (AI или AIII). Можно ли просуммировать их по этим критериям так что бы каждый раз не делать это вручную(иногда ошибаешься) с тем учётом что может быть много разных позиций, а не только эти с 1-го по 17-тй. А может быть и 5 и 50. Образец на 1-ом листе, то что хотелось бы получить на 2-ом листе.ronik710
1) Получается в этом варианте мне сначала надо самому прописать все возможные диаметры, а потом вписать формулу? 2) А как быть со вторым условие(AI или AIII)?
Прикладываю файл с примером
1) Получается в этом варианте мне сначала надо самому прописать все возможные диаметры, а потом вписать формулу? 2) А как быть со вторым условие(AI или AIII)?
Макросом провериться не желаете? Есть универсальный для суммирования по уникальным. Только Ваши данные немного нужно преобразовать (ну или макрос переделывать) - макросу нужен диапазон, как ВПР()у Т.е. слева - что анализируем, справа - что суммируем. На Вашем файле - делаем два столбца, в одном протягиваем формулу =I7&H7 в столбце правее =G7 Теперь запускаем приложенный файл, затем в своём выделяем проверяемый диапазон (этих два новых столбца) от области с диаметрами по область с суммами, потом сразу жмём Alt+F8 выбираем и запускаем макрос UniqSummUniversal из файла UniqSummUniversal.xls
Макросом провериться не желаете? Есть универсальный для суммирования по уникальным. Только Ваши данные немного нужно преобразовать (ну или макрос переделывать) - макросу нужен диапазон, как ВПР()у Т.е. слева - что анализируем, справа - что суммируем. На Вашем файле - делаем два столбца, в одном протягиваем формулу =I7&H7 в столбце правее =G7 Теперь запускаем приложенный файл, затем в своём выделяем проверяемый диапазон (этих два новых столбца) от области с диаметрами по область с суммами, потом сразу жмём Alt+F8 выбираем и запускаем макрос UniqSummUniversal из файла UniqSummUniversal.xlsHugo
Здравствуйте Hugo. Проблемка в том, что единственный язык програмирования что я знаю это старый добрый паскаль. В VBA на данный момент к сожалению не очень. Единственное что могу это включить запись макроса, сделать какие либо теледвижения мышкой. И вуа ля, макрос готов Все что Вы выше написали я проделал. но к сожалению он суммирует либо только по диаметрам(%%с) либо только по классам(AI и AIII)/ Зависит что выделешь. но вот как его заставить выбирать по 2-м критериям и выводить в зависимости от 2-х критерий пока мне не понятно. (Ибо только учусь осваивать макросы и VBA в частности). так что самым актуальным пока остается вариант Serge_007. Но там нужно пилить и пилить)))
Quote (Hugo)
Макросом провериться не желаете?
Здравствуйте Hugo. Проблемка в том, что единственный язык програмирования что я знаю это старый добрый паскаль. В VBA на данный момент к сожалению не очень. Единственное что могу это включить запись макроса, сделать какие либо теледвижения мышкой. И вуа ля, макрос готов Все что Вы выше написали я проделал. но к сожалению он суммирует либо только по диаметрам(%%с) либо только по классам(AI и AIII)/ Зависит что выделешь. но вот как его заставить выбирать по 2-м критериям и выводить в зависимости от 2-х критерий пока мне не понятно. (Ибо только учусь осваивать макросы и VBA в частности). так что самым актуальным пока остается вариант Serge_007. Но там нужно пилить и пилить)))ronik710
На Вашем файле - делаем два столбца, в одном протягиваем формулу =I7&H7 в столбце правее =G7
Так получаем столбцы, по которым вытянем нужное уже макросом.
Этот макрос конечно рассчитан не на полную автоматизацию, он типа как отвёртка - можно прикрутить, можно дырку проковырять... Но его можно взять за основу и сделать встроенный, и кстати считать по двум столбцам тоже легко заставить - просто как критерий брать сразу n & m с листа (сливать на лету).
Так я же написал -
Quote
На Вашем файле - делаем два столбца, в одном протягиваем формулу =I7&H7 в столбце правее =G7
Так получаем столбцы, по которым вытянем нужное уже макросом.
Этот макрос конечно рассчитан не на полную автоматизацию, он типа как отвёртка - можно прикрутить, можно дырку проковырять... Но его можно взять за основу и сделать встроенный, и кстати считать по двум столбцам тоже легко заставить - просто как критерий брать сразу n & m с листа (сливать на лету).
А чего там пилить-то?! Это готовые решения, что одно, что другое...
Насчет формулы в ячейках согласен. А допилил я этот вариант тем,что написал для A-I все варианты арматуры и для A-III. Второй вариант надо допилить тем, что бы при запуске макроса не открывался новый файл excel, а создавалось бы новая вкладка в данном файле.
Quote (Serge_007)
А чего там пилить-то?! Это готовые решения, что одно, что другое...
Насчет формулы в ячейках согласен. А допилил я этот вариант тем,что написал для A-I все варианты арматуры и для A-III. Второй вариант надо допилить тем, что бы при запуске макроса не открывался новый файл excel, а создавалось бы новая вкладка в данном файле.ronik710
Hugo, А не могли бы Вы мне дать какаю либо литературу, что бы я ножичком поправил тот код в макросе? С 0-ля как то трудновато. Особо непонятно куда соваться.
Hugo, А не могли бы Вы мне дать какаю либо литературу, что бы я ножичком поправил тот код в макросе? С 0-ля как то трудновато. Особо непонятно куда соваться.ronik710
А вот насчёт новой вкладки (это я так понял лист?) я сомневаюсь... Сделать конечно несложно - записываете рекордером добавление листа, потом полученный код пишете вместо
Code
With Workbooks.Add.Worksheets(1)
т.е. получается
Code
With Sheets.Add
Но вот что потом с этими листами делать будете? Лучше вероятно иметь один лист, который сперва кодом очистить, потом в него вставить эти данные. Или отвести для этого пару столбцов на этом же листе. Но тогда этот код уже не будет универсальным, т.к. будет годиться только для такого файла.
А вот насчёт новой вкладки (это я так понял лист?) я сомневаюсь... Сделать конечно несложно - записываете рекордером добавление листа, потом полученный код пишете вместо
Code
With Workbooks.Add.Worksheets(1)
т.е. получается
Code
With Sheets.Add
Но вот что потом с этими листами делать будете? Лучше вероятно иметь один лист, который сперва кодом очистить, потом в него вставить эти данные. Или отвести для этого пару столбцов на этом же листе. Но тогда этот код уже не будет универсальным, т.к. будет годиться только для такого файла.