![]() |
Создание макроса для поиска одинаковых значений в ячейках и укомплектовывания
Вложений: 2
Доброго времени суток уважаемые форумчане.
Существует проблема в написании макроса в Excel. Честно говоря я немного далек от этого, лет 5 не занимался подобным и тупо все забыл. Необходимо создать макрос для поиска и сортировки наименований таблицы и записывать их в отдельные строки. Пример, как это должно быть в пристежке. Т.е. макрос должен найти одинаковые значения во всем столбце (до 100 строк) и перенести наименование, ячейку и количество, для каждого наименования отдельно. Люди добрые, помогите кто чем может)) Может кто писал подобное.... |
dyshes90, ничего не понятно. Где в Вашем примере находится:
Цитата:
|
Это столбец С, там могут находиться до 100 наименований.
|
dyshes90, ну, так покажите какой-нибудь реальный пример. Ибо в том, что Вы привели, нет никаких повторов, и совершенно непонятно, откуда берётся «1», и откуда — «8».
|
Вложений: 1
Вот что-то подобное, физических ячеек к которым привязывается программа максимум будет 16, наименований в каждой вплоть до 100, макрос должен просканировать все значения наименования, найти одинаковые и запихнуть в отдельную табличку с указанием количества и к какой ячейке принадлежит
|
dyshes90, примерно ясно. Только выложите то же самое в виде документа, а не изображения.
|
Вложений: 1
Пожалуйста.
|
Товарищи форумчане, есть ли мысли по этому вопросу или глухо все как в танке?
|
Мысли есть. Дело осталось за малым: начать и закончить ;). То есть — проверить, возможна ли корректная реализация этих мыслей.
|
Вложений: 1
dyshes90, я прошу прощения - а почему именно VBA, сводная таблица не подойдет?
Не скажу, что сильно "шуруплю" в сводных таблицах - но на первый взгляд вроде то, что Вы хотите. Или такая форма не подходит? |
a_axe, на мой взгляд — вполне подойдёт. Но подождём мнения автора.
|
Доброго дня, сводная таблица впр не плохо, я рассматривал этот вариант, но в примере всего 3 ячейки, на деле их будет 16-20, не совсем удобно просматривать данные будет на ней, всетки с моим примером по проще.
|
Iska, Есть идеи какие-нибудь, сроки горят, начальство вазилин готовит для меня)
|
dyshes90, я не вижу, чем бы это было неудобно.
Цитата:
|
Iska, Нет, не катит, вариант не удачный, неудобный для работы. Закрываю тему если мыслей нет.....
|
Вложений: 1
Цитата:
Цитата:
Цитата:
Ну и промежуточный (нормальный ) вариант - сделать все же одну сводную таблицу слегка в другой компоновке (в приложенном файле синяя таблица). В ней нажатием на крестик можно разворачивать/сворачивать наименование фильма. Нужна позиция - развернули, не нужна - свернули. Не зная Ваших критериев, на основании несодержательных и неконкретных комментариев "вариант не удачный, неудобный для работы" вряд ли получится реализовать более вдумчивое решение, потрудитесь хотя бы сказать, что для Вас удобно, что нет. Если нет желания расписывать, что Вы хотите иметь на выходе - мыслей и предложений нет. |
Вложений: 1
a_axe, Спасибо огромное за вариант, но сделал удобнее, раскидал каждое наименование на отдельный лист, сыровато получилось, но удобнее для работы на данный момент, буду добивать, если есть желание помочь, буду весьма признателен. Вот полурабочий файл.
|
dyshes90, мой вариант извлечения — посредством OLE DB (Office 2003):
Код:
Sub Sample() В коде присутствует жёсткая привязка к адресу — «B2», откуда берётся текущий диапазон для извлечения. Первый запрос («objRecordSet1») извлекает все уникальные Наименования, второй («objRecordSet2») — весь диапазон целиком. Затем происходит вывод второго запроса с группировкой строк по строкам первого запроса. Для упрощения понимания вывод делается в окно отладки («Ctrl-G»), без формирования вывода в ячейки. |
Iska, спасибо!!! Пример в студию please)
|
Вложений: 1
dyshes90, дык, на Вашем же файле делал. Только дозаполнил по паре отсутствующих значений в столбцах «Ячейки» и «Количество»: Файл 121538.
На всякий случай повторюсь: вывод идёт в окно отладки «Immediate», нажмите «Alt-F11», затем «Ctrl-G». |
Iska, На самом деле круто, спасибо, только нужно чтобы это все графически выводилось, а не в окне отладки.
|
Если опишете и покажете, как именно надо — попробуем. Сразу скажу, что вариант «Всё на том же листе в виде подтаблиц» мне не сильно нравится.
Конечная цель этих действий какова вообще? |
Вложений: 1
Я скинул файл вчера, как сам навоял, я таблицу раскидал по разным листам......было бы не плохо, чтобы макрос выкидвал эту таблицу на другой лист в таком примерно виде
|
Попробуйте так (замените существующую процедуру «Sample()»):
Скрытый текст
Код:
Sub Sample() |
Вложений: 1
Iska, Хорошо, будь другом, подскажи если знаешь, как сделать, надо закрасить ячейки на против цифр, причем диапазон цифр может меняться, нужна процедура, при нажатии на кнопку он просматривал столбец находил цифру 1 и закрашивал рядом стоящую ячейку
|
У же не надо, сам решил, спасибо)
|
Цитата:
|
Время: 23:33. |
Время: 23:33.
© OSzone.net 2001-