Файл примера
Сложный автофильтр с условием "содержит". Доработка макроса., фильтрация номеров заказов с несколькими дополнительными условиями
Сложный автофильтр с условием "содержит". Доработка макроса., фильтрация номеров заказов с несколькими дополнительными условиями
Цикл копирования ячеек, которые не пустые.
Цикл копирования ячеек, которые не пустые.
Цикл копирования ячеек, которые не пустые.
11.12.2020 14:17:41
Простейший цикл, казалось бы, а извилины не работают так, чтобы сделать как надо.
Есть задача копировать содержимое одной ячейки в другую на разных столбцах. При этом копировать должны только ячейки содержащие "*20-*" или "*21-*" (надеюсь верно показал пример "содержит") и в пределах текущей строки. Пример файла прикрепил. В файле есть макрос, который показывает как должно все сработать, только без условия "содержит". Он тяжелый, упростить как раз хотел с помощью циклов. При этом количество строк может быть больше 40000, а те ячейки, которые надо проверять могут быть пустыми 50/50.
Изменено: |
|
|
Фильтр всех заказов из диапазона со списком заказов, с дополнительными условиями фильтрации
Фильтр всех заказов из диапазона со списком заказов, с дополнительными условиями фильтрации
08.12.2020 09:10:16
|
|||||
|
Фильтр всех заказов из диапазона со списком заказов, с дополнительными условиями фильтрации
Фильтр всех заказов из диапазона со списком заказов, с дополнительными условиями фильтрации
04.12.2020 14:17:14
Есть макрос, который был написан около года назад, с Вашей помощью, за что спасибо. А сейчас его полезности не хватает. Точнее нужно больше функций.
Сам макрос работает как автофильтр, который берет диапазон номеров заказов из одного листа и применяет его в фильтре другого листа, где ищет совпадения и выдает таблицу с отобранными заказами. После этого копирует все полученное в другой лист. Сейчас надо добавить еще один фильтр в этот цикл. В таблице заказов кроме номера заказа теперь появляется еще одна переменная - номер детали в заказе. То есть нужно при фильтрации каждого заказа фильтровать еще и номера деталей. В каждом заказе количество деталей разное, от 1 до 50, и нужно выбирать всегда разные. При этом количество заказов может быть тоже от 1 до 100. В итого работа макроса должна иметь тот же вывод, что и сейчас, но еще и уметь выбирать номера деталей для каждого заказа. В программировании VBA не силен, больше в Pithon работаю, поэтому не догоняю многих вещей из VBA. Думал добавить в оператор цикла for еще и while, чтобы работал так: взять из списка значений для фильтра первое и присвоить в автофильтр фильтруемого диапазона на другом листе; пока фильтруем текущее значение по номеру заказа, запускаем фильтр по номеру детали (номера деталей записаны на том же листе, где и номера заказов. В одной ячейке указаны номера через запятую. Ячейка с номерами деталей напротив ячейки с номерами заказов), полученный двойной автофильтр для первого заказа оставляем и переходим на следующий заказ (i+1) и повторяем те же действия. Полученный результат из всех фильтрованных заказов с деталями копируем в лист1. Пример файла прикрепил, только там попыток изменить нету, так как ни одна не сработала я решил оставить только исходную рабочую версию макроса. Мозгов не хватает как это дело сделать параллельным. Объяснение, конечно, тоже хромает. Если эта тема уже была где-то на форуме, то буду очень не против ее прочесть, чтобы сделать задуманное, но пока подобное не получилось найти. Может плохо ищу) |
|
|
Автоматическая фильтрация столбца с определенными значениями, взятыми из другого столбца.
Автоматическая фильтрация столбца с определенными значениями, взятыми из другого столбца.
18.07.2019 13:53:26
tolstak, сейчас попробую уменьшить свою таблицу и скинуть пример.
Вот: Я понял ошибку. У меня порядок листов был не верный: Лист4, Лист1, Лист2, Лист3, а надо по порядку верному. Поменял их между собой и все заработало!
Изменено: |
|
|
Автоматическая фильтрация столбца с определенными значениями, взятыми из другого столбца.
18.07.2019 09:22:44
Большое спасибо за вариант! Прям то, что нужно. Я настроил его под свою книгу и у меня вылетела ошибка. Я только поменял имена столбцов и листов, а так же изменил величину диапазона ячеек. Ваш пример в документе работает отлично, вот то что надо, а когда настраиваю под себя, то дает сбои почему-то. Пытался и ячейку выделить, к которой применять фильтр и проверил ячейки на объединение, но все напрасно. Пока не знаю в чем причина ошибки.
Изменено: |
|||
|
Заменить формулы на значения и удалить нули
Автоматическая фильтрация столбца с определенными значениями, взятыми из другого столбца.
17.07.2019 17:25:48
Ребят, HELP!!! Не пойму как сделать макрос, который будет работать с фильтрами. Цель такая: Есть первый столбец с n количеством значений и есть второй столбец, в другом листе этой же книги, который содержит в себе повторяющиеся значения как в первом столбце. Нужно отфильтровать первый столбец так, чтобы фильтр взял за основу значения из второго столбца, засунул себе в критерий отбора (не знаю как правильно, для меня это список значений с галочками, которые вручную очень долго надо клацать) и выдал результат в виде отфильтрованных значений. Я приложил файл где пример этих столбцов есть. Я даже не понимаю с чего начать, поэтому и обращаюсь к Вам.
Пример макроса могу показать из макрорекордера со своими дополнениями, но как обычно по незнанию лезут ошибки.
Изменено: |
|||
|
Заменить формулы на значения и удалить нули
Заменить формулы на значения и удалить нули
14.07.2019 17:59:43
Попытался сообразить макрос на всю книгу, но ничего не выходит. Он-то работает и ячейки разъединяет для удаления, все как надо, но на всю книгу никак не получается сделать. Скину код, который на данный момент получился. Не доработан, но рабочий. Прошу помощи с этим вопросом. Сам - никак не в силах. На текущий лист только работает
Изменено: |
|||
|
Заменить формулы на значения и удалить нули
14.07.2019 16:23:41
Сейчас буду пробовать на всю книгу так же пилить. Может получится. |
|||||
|
Заменить формулы на значения и удалить нули
14.07.2019 16:21:16
Нашел вот такой макрос:
Удаляет. только вот как раз "удаляет" строку. А надо очищать))
Изменено: |
|||
|
Заменить формулы на значения и удалить нули
14.07.2019 16:10:05
Сам я в любом случае пытаюсь разобраться как и что сделать, только без помощи не обойтись.
Я не пойму какой надо макрос написать, чтобы он проверял значение в определенных столбцах (F и G) таблицы и, если это значение равно нулю, то удаляет текущую строку. Но в этой строке есть объединенные ячейки, которые не позволяют всю ее удалить. А чтобы удалить то, что мне нужно из этой строки , то достаточно удалить содержимое первых 8 ячеек этой строки. Может чего непонятно объясняю, поэтому критику воспринимаю адекватно. |
|
|
Заменить формулы на значения и удалить нули
14.07.2019 15:54:08
Все круто, и еще осталось последнее, с чем пока даже не представляю как бороться.
Мы удалили из книги все формулы, оставив значения - отлично Мы удалили ноли из полученных значений - замечательно Теперь сложнее. Ищем в столбцах "F" и "G" ноли(которые мы удачно удаляли из всей книги, теперь надо немного откатиться назад), и если они есть, то удаляем содержимое строки с этими нолями, но не всю строку, а только определенные ячейки из столбцов, конкретно: "B, C, D, E, F, G, H". Можно и всю строку, но тут есть проблема, у меня есть объединенные ячейки, которые не позволят просто так это сделать, поэтому и вынужден убивать только диапазон значений по горизонтали |
|
|
Заменить формулы на значения и удалить нули
Заменить формулы на значения и удалить нули
Заменить формулы на значения и удалить нули
Заменить формулы на значения и удалить нули
14.07.2019 15:08:08
Решил проблему с запуском второго макроса для всей книги.
В моем случае этих двух столбцов как раз достаточно, для обработки. Теперь другой вопрос возник, а как объединить эти 2 макроса в один? оформляйте код в сообщениях с помощью кнопки <...> [МОДЕРАТОР] |
|||
|
Заменить формулы на значения и удалить нули
14.07.2019 14:16:04
Нашел как удалять формулы из всей книги, применил и работает, остаются только значения. Нашел и вторую часть замысла - удалить ноли, путем автозамены через макрос, пример взял с этого же сайта, но там всего дня двух столбцов было условие, а мне нужно на всю книгу. Тут я в тупике.
Первая часть:
Это вот чудо удаляет формулы оставляя значения (на удивление быстро, случайно нашел макрос на форумах), в книге более 100 листов, каждый заполнен прилично. Вес книги от 10мб до 56(в среднем). Макрос работает, к нему претензий нет. Вторая часть:
это уже удаление нолей. Уже сам пытался нахимичить рабочую версию, но никак. Для всего листа не работает, а когда что-то пытается запуститься, то выдает ошибку, типа: "Эта команда не может выполнятся для всех листов". Может чего и путаю, но вот с этим макросом у меня проблема. Нужно, чтобы он так же как и первый выполнялся во всей книге. Изначально выглядел данный макрос так:
После чего я попытался его на всю книгу применить, но увы... Помогите, пожалуйста. |
|||||||
|
Копирование примечания из одного листа в другой с условием.
21.07.2017 15:42:58
По теме: подставил цифру 6 - и да, все заработало!!)) Спасибо!) Теперь буду дальше пытать книгу, чтобы упростить и облегчить ее использование другими пользователями.Еще раз всем спасибо за помощь, без Вас сам бы точно не разобрался. |
|||
|
Копирование примечания из одного листа в другой с условием.
20.07.2017 16:17:42
Спасибо всем, кто подсказывает как и что нужно сделать, начал разбираться хоть.
Но все равно ничего не получается. Изменял 2 на 5, как говорил Только когда удаляю столбцы B,C,D , чтобы F стал на место B, тогда макрос работает как надо. Но тогда все нужные данные пропадают, выручает только одно - просто поменять местами содержимое, но тогда задумка с добавлением подобных примечаний к другим ячейкам книги становиться невыполнимой... Приложу еще один файл, может подскажете как заставить работать макрос. В нем те же 2 листа. Только теперь на одном листе столбец куда надо копировать не B , а F. |
|
|
Копирование примечания из одного листа в другой с условием.
19.07.2017 16:57:21
В книге, которую прикрепил к теме все работает как часы. Попытался применить макрос в другую книгу. Там отличия только в одном листе, названия листов те же, только столбец, в который нужно примечание копировать изменен с "b" на "f". И чего-то не получилось... Макрос выполняется без ошибок, но изменений никаких нет.
Изменено: |
|||
|
Копирование примечания из одного листа в другой с условием.
Копирование примечания из одного листа в другой с условием.
19.07.2017 15:42:00
Супер, работает! Спасибо огромное!!!))
У меня просьба. Можете пояснить как работает этот макрос, хочу понять что означает каждая строка, если такое можно. У меня есть и другая книга, там 15 листов и весит немало, порядка 70мб. База огромная. Так вот если мне нужно будет сделать подобную штуку в этой таблице, неплохо было бы знать синтаксис макроса. Заранее спасибо) |
|
|