есть ячейки в каждой строке, в которой может быть 3 типа данных 1. "" (ячейки с внесенными данными) 2. @ (яцейки шаблона, без данных) 3. любые другие данные: цифры или текст (ячейки с внесенными данными и дополнительным условием к данным, не расчетные)
есть море строк и необходимо Автоматически отсортировать строки с условием 3 и разместить из выше строк с другими условиями (1 или 2)
единственное что придумал: на другом листе создать две копии таблицы, в верхней копии выделялись бы строки где условие 3 соблюдено, а в нижней таблице - то же самое для условия 1 или 2. потом макросом скрыть то, что не сответствует условиям. данные необходимы не для расчетов, а для копипастинга. даже если необходим расчет - то результат делить пополам (т.к. таблица дублирется дважды)
может есть более умные способы? никаких посторонних нажатий, обновлений, чего либо ещё не допускается. На листе будут только две кнопки: скрыть и показать.
есть ячейки в каждой строке, в которой может быть 3 типа данных 1. "" (ячейки с внесенными данными) 2. @ (яцейки шаблона, без данных) 3. любые другие данные: цифры или текст (ячейки с внесенными данными и дополнительным условием к данным, не расчетные)
есть море строк и необходимо Автоматически отсортировать строки с условием 3 и разместить из выше строк с другими условиями (1 или 2)
единственное что придумал: на другом листе создать две копии таблицы, в верхней копии выделялись бы строки где условие 3 соблюдено, а в нижней таблице - то же самое для условия 1 или 2. потом макросом скрыть то, что не сответствует условиям. данные необходимы не для расчетов, а для копипастинга. даже если необходим расчет - то результат делить пополам (т.к. таблица дублирется дважды)
может есть более умные способы? никаких посторонних нажатий, обновлений, чего либо ещё не допускается. На листе будут только две кнопки: скрыть и показать.gagarin-ace
Скорее всего есть, да вот только без примера, с Вашими объяснениями, не совсем понятно, что именно Вы хотите видеть. У Вас 41 сообщение и неужели до сих пор Вы не уяснили, что при наличии примера, помощь приходит гораздо быстрее и качественнее. Ну а в качестве бесплатного совета: Изучайте VBA
Скорее всего есть, да вот только без примера, с Вашими объяснениями, не совсем понятно, что именно Вы хотите видеть. У Вас 41 сообщение и неужели до сих пор Вы не уяснили, что при наличии примера, помощь приходит гораздо быстрее и качественнее. Ну а в качестве бесплатного совета: Изучайте VBAmsi2102
msi2102, куча идей, которые я спрашивал ранее не применились и скорее всего уже не применятся никогда, документ переделывался с нуля уже больше десяти раз, и скорее всего переделается ещё столько же. море идей не могу применить из-за необходимости обновления данных для получения результата.
вот и получается, что я строю в голове идеи, частично их пытаюсь озвучить тут, бывает даже в процессе создания темы возникает новая идея и опять сижу и думаю....
я пробовал несколько уроков по вба посмотреть - но это за гранью моего понимания. я по специальности технолог и мне эксель нужен по стольку по скольку. все что я спрашиваю тут - это для создания одного единственного документа, который, в случае успеха - сможет упростить работу и будет использоваться десятилетиями. и в дальнейшем, мне вба вряд ли пригодится, по этому я решил выкручиваться по максиму без него
если интересно - вот документ. на листе "проволока" заполняются данные и в столбике А может быть условие описанное в первом сообщении далее данные переносятся на лист "Д-проволока", где по указанному условию они должны сортироваться (при наличии условия) - все где есть пометка - должно быть выше остальных. (можно понажимать скрыть/показать, там надпись 2д, гиб, сетка, и прочие примечания важные для производства)
п.с. описаннную идею я пока не воплотил. т.к. придя на работу и показав то что есть - возникли опять куча вопросов и куча новых идей - документ опять будет переделываться.
msi2102, куча идей, которые я спрашивал ранее не применились и скорее всего уже не применятся никогда, документ переделывался с нуля уже больше десяти раз, и скорее всего переделается ещё столько же. море идей не могу применить из-за необходимости обновления данных для получения результата.
вот и получается, что я строю в голове идеи, частично их пытаюсь озвучить тут, бывает даже в процессе создания темы возникает новая идея и опять сижу и думаю....
я пробовал несколько уроков по вба посмотреть - но это за гранью моего понимания. я по специальности технолог и мне эксель нужен по стольку по скольку. все что я спрашиваю тут - это для создания одного единственного документа, который, в случае успеха - сможет упростить работу и будет использоваться десятилетиями. и в дальнейшем, мне вба вряд ли пригодится, по этому я решил выкручиваться по максиму без него
если интересно - вот документ. на листе "проволока" заполняются данные и в столбике А может быть условие описанное в первом сообщении далее данные переносятся на лист "Д-проволока", где по указанному условию они должны сортироваться (при наличии условия) - все где есть пометка - должно быть выше остальных. (можно понажимать скрыть/показать, там надпись 2д, гиб, сетка, и прочие примечания важные для производства)
п.с. описаннную идею я пока не воплотил. т.к. придя на работу и показав то что есть - возникли опять куча вопросов и куча новых идей - документ опять будет переделываться.gagarin-ace
Ну сортировать лист не запрещено, это тоже можно сделать макросом по кнопке (запишите рекордером процесс и получите код). Чтоб вернуть данные на исходные - можно добавить столбец с начальными индексами, по нему можно вернуть. Но в чём вообще проблема и задача - я не понял. Если нужно что-то выбрать для дальнейшего копипаста в удобном виде - можно макросом делать например при переходе на определённый лист на нём будут только отобранные данные.
Ну сортировать лист не запрещено, это тоже можно сделать макросом по кнопке (запишите рекордером процесс и получите код). Чтоб вернуть данные на исходные - можно добавить столбец с начальными индексами, по нему можно вернуть. Но в чём вообще проблема и задача - я не понял. Если нужно что-то выбрать для дальнейшего копипаста в удобном виде - можно макросом делать например при переходе на определённый лист на нём будут только отобранные данные.Hugo
Hugo, спасибо огромное за момощь, но! требуется способ сортировки АВТОМАТИЧЕСКИЙ без запуска макросов или ещё чго то что требует дополнительных телодвижений.
время работы с каждым из документов у оператора - 15-20 сек и любые дополнительные кнопки или действия - потенциальные ошибки.
п.с. текст может быть любой в этой ячейке, вплоть до: "если опять накосячите - поубиваю!" при этом та же самая ячейка является расчетной, там условие "если", просто привыкли писать пометки поверх него
самая не готовая часть документа - это лист "Проволока" и его производная "Д-проволока". у меня пока нет идей что с ним можно сделать чтоб добавить какой то "умности". т.к. в некоторых изделиях кол-во строк может вырастать на 30 по каждому из диаметров... предполагаю каждую из проволок превратить в умную таблицу. мне уже показывали как к умной таблице добавлять строки и это б смещало последующий за таблицей текст (код на ВБА в коде листа) - позволит мне сделать компактный шаблон, но нет идей что должно получиться на листе "Д-проволока" после этого. либо же объеденить проволоки в диапазоны и скрывать их по умолчанию, а в случае необходимости открыть. идей много, но окончательной нет
одним словом: мои идеи ограничены моими знаниями возможностей экселя. я периодически просматриваю обучающие видео из плейлиста - что-то мне кажется интересным и я его пытаюсь сюда всунуть, что-то более новое заменяет старое и т.д. у меня нет знакомых со знаниями экселя выше моего, даже знакомый програмист не может дать идей, т.к. никогда этим не занимался. вот и генерирую одну тему глупее предыдущей
Hugo, спасибо огромное за момощь, но! требуется способ сортировки АВТОМАТИЧЕСКИЙ без запуска макросов или ещё чго то что требует дополнительных телодвижений.
время работы с каждым из документов у оператора - 15-20 сек и любые дополнительные кнопки или действия - потенциальные ошибки.
п.с. текст может быть любой в этой ячейке, вплоть до: "если опять накосячите - поубиваю!" при этом та же самая ячейка является расчетной, там условие "если", просто привыкли писать пометки поверх него
самая не готовая часть документа - это лист "Проволока" и его производная "Д-проволока". у меня пока нет идей что с ним можно сделать чтоб добавить какой то "умности". т.к. в некоторых изделиях кол-во строк может вырастать на 30 по каждому из диаметров... предполагаю каждую из проволок превратить в умную таблицу. мне уже показывали как к умной таблице добавлять строки и это б смещало последующий за таблицей текст (код на ВБА в коде листа) - позволит мне сделать компактный шаблон, но нет идей что должно получиться на листе "Д-проволока" после этого. либо же объеденить проволоки в диапазоны и скрывать их по умолчанию, а в случае необходимости открыть. идей много, но окончательной нет
одним словом: мои идеи ограничены моими знаниями возможностей экселя. я периодически просматриваю обучающие видео из плейлиста - что-то мне кажется интересным и я его пытаюсь сюда всунуть, что-то более новое заменяет старое и т.д. у меня нет знакомых со знаниями экселя выше моего, даже знакомый програмист не может дать идей, т.к. никогда этим не занимался. вот и генерирую одну тему глупее предыдущейgagarin-ace
Сообщение отредактировал gagarin-ace - Четверг, 27.07.2023, 22:14
Hugo, выбивает ошибку, но работает, спасибо огромное. простите, мои понимания написанного ограничиваются моими знаниями. как в том анекдоте про мальчика дауна: "папа, а с кем это ты разговариваешь?"
я не хотел выкладывать документ, т.к. я был в процессе его корректировки и на выходных буду опять корректировать. я в основном собираю идеи на форуме, узнаю о возможностях и только когда сформирую цельную картину того что должно получиться - буду смело выкладывать документ и просить реализовать какую то идею
Hugo, выбивает ошибку, но работает, спасибо огромное. простите, мои понимания написанного ограничиваются моими знаниями. как в том анекдоте про мальчика дауна: "папа, а с кем это ты разговариваешь?"
я не хотел выкладывать документ, т.к. я был в процессе его корректировки и на выходных буду опять корректировать. я в основном собираю идеи на форуме, узнаю о возможностях и только когда сформирую цельную картину того что должно получиться - буду смело выкладывать документ и просить реализовать какую то идеюgagarin-ace
я на столько продвинулся в программировании, что даже не смог скопипастить уже написанный для меня макрос.
теперь документ приобрел на 99% финишный вид (его только почистить и протестировать перед внедрением в производство)
листы Д теперь объединены в один единственный. добавлены и скорректированы расчетные части, расширены диапазоны (от автоматического расширения диапазонов решено отказаться из-за того, что копипаста блоков будет невозможна.
помогите пожалуйста с внедрением макроса на лист "Д" чтоб он работал на любые пометки, тот, который был в документе ранее реагирует только на 2 слова (таких пометок бывает много, они не систематизируются).
я на столько продвинулся в программировании, что даже не смог скопипастить уже написанный для меня макрос.
теперь документ приобрел на 99% финишный вид (его только почистить и протестировать перед внедрением в производство)
листы Д теперь объединены в один единственный. добавлены и скорректированы расчетные части, расширены диапазоны (от автоматического расширения диапазонов решено отказаться из-за того, что копипаста блоков будет невозможна.
помогите пожалуйста с внедрением макроса на лист "Д" чтоб он работал на любые пометки, тот, который был в документе ранее реагирует только на 2 слова (таких пометок бывает много, они не систематизируются).gagarin-ace
вспыла следующая особенность: теперь данные сортируются не по значению диаметров проволоки, а по слову, которое добавлено к примечанию. возможно ли изменить сортировку так, чтоб она всё так выводила вверх проволоки с примечанием, но оставляло старую сортировку, по диаметру, как она была в "дано" ?
я воспользовался макросом №1, который позволял фильтровать любые слова, а не только из списка [vba]
Код
Sub Макрос3()
ActiveWorkbook.Worksheets("Д-проволока").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Д-проволока").Sort.SortFields.Add2 Key:=Range( _ "A2:A69"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("Д-проволока").Sort .SetRange Range("A2:H69") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
[/vba]
п.с. можно ли вернуть все строки на свои места? или после срабатывания макроса это сделать невозможно? мне потребовалось изменить шаблон этого листа и добавить туда данные.
вспыла следующая особенность: теперь данные сортируются не по значению диаметров проволоки, а по слову, которое добавлено к примечанию. возможно ли изменить сортировку так, чтоб она всё так выводила вверх проволоки с примечанием, но оставляло старую сортировку, по диаметру, как она была в "дано" ?
я воспользовался макросом №1, который позволял фильтровать любые слова, а не только из списка [vba]
Код
Sub Макрос3()
ActiveWorkbook.Worksheets("Д-проволока").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Д-проволока").Sort.SortFields.Add2 Key:=Range( _ "A2:A69"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("Д-проволока").Sort .SetRange Range("A2:H69") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
[/vba]
п.с. можно ли вернуть все строки на свои места? или после срабатывания макроса это сделать невозможно? мне потребовалось изменить шаблон этого листа и добавить туда данные.ntcn123