Лаконично и железобетонно!
Игорь, СПАСИБО БОЛЬШОЕ!!!
Игорь, СПАСИБО БОЛЬШОЕ!!!
27.11.2021 09:36:15
Здравия желаю!
Помогите создать три правильных правил для УФ, которые бы красили: 1. Если текст содержит одно из нескольких перечисленных значений - то красить одним цветом 2. Если текст содержит одно из нескольких перечисленных значений - то красить другим цветом 3. А вот если в ячейке встречаются значения из правила1 и правила2 - то тогда градиентная заливка. В примере подробно описал варианты. Ещё такой момент - список значений должен быть в формулах УФ, а не браться из ячеек или диапазонов имён...
Изменено: |
|
|
09.11.2021 20:19:44
Всем салют!
Просьба/вопрос - можно ли исправить правила УФ в прикреплённом файле так, чтобы закрашивались не только ячейки с датами, но и соседние, которые ранее были объединены в одну? Знаю, что объединение ячеек - ЗЛО, но просто расширить длину столбцов под одну ячейку с датой нельзя.. В уф применяется градиентная заливка на объединённые ячейки, но можно обойтись и обычной, если что. В примере всё расписал и показал, на всякий случай. На VBA написать заливку не проблема, дело в другом - нужно именно постоянное динамическое изменение цвета ячеек с правилами УФ без каких-либо запусков процедур. Из-за объединения ячеек файл вырос столь сильно, что стал открываться ооочень долго, и сохраняться тоже. К тому же объём стал огромный, но это не столько критично и напрягающе, как время ожидания при открытии/сохранении файла. Таких ячеек с датами и временем десятки тысяч на сотнях листов. |
|
|
18.09.2020 14:13:25
> код у вас есть, добавьте строку, поправьте несколько и все готово) Спасибо огромное! Буду ковырять )) |
|||
|
18.09.2020 11:31:43
Александр П.,
спасибо, но нужно именно макросом. Эксель с ума сойдёт от кол-ва формул, работать с ним будет невозможно.
Ігор Гончаренко, вау.. Класс! Только код вываливается на ошибке, когда встречает пустую ячейку в "A", но по условию
пустая ячейка в А является тем же значением, что выше найденное, равно как и ячейка с содержанием такого же значения... В файле, в описании, строчки "если встречается одно значение, и в последующей строке содержится такое же точно значение, или же ПУСТАЯ ячейка - то такая строка относится к тому же значению, что выше неё до тех пор, пока не встретится значение, отличное от искомого." как раз подчёркивают важность этого момента. На листах с примерами изображены ситуации, когда изначально в "А" условные порядковые номера могут быть расположены именно в таком виде.
Изменено: |
|
|
18.09.2020 02:35:28
Приветствую!
Потихоньку осваиваю VBA, и решил написать, вроде как сначала показалось, незатейливый макрос, копирующий данные из одной таблицы в другую согласно определённым условиям, но столкнулся с нехваткой знаний VBA и общего понимания конструкции, как именно это реализовать. ...а поначалу вообще хотел через массивы всё сделать, так как хотелось высокой скорости работы макроса, но с удивлением для себя обнаружил, что в VBA в массивах отсутствует поиск, подобный Find(). Да и как выяснилось, он бы тоже не особо помог. Нашёл некоторые готовые решения по поиску в массивах, но куда мне уж там, коли не смог даже в обычных циклах сделать. В общем, в файле-примере достаточно наглядно всё описал. Файл-пример обладает небольшим набором данных, в оригинале их гораздо больше, поэтому и были мысли делать через массивы. В файле уже начат макрос с обычными циклами, и закомментированы строки, дальше которых уже не смог придумать, как сделать так, чтобы всё работало. Гляньте, пожалуйста, а?..
Изменено: |
|
|
13.08.2020 23:56:54
buchlotnik, премного благодарен Вам, сударь!
Про пять секунд, конечно, перебор был, ну так это утрированно ) По аналогии моего мозга хватило только на п.2-4, Благородный сэр: =(RC>=ТДАТА()-2/24)*(RC<=СЕГОДНЯ()+1+6/24) йа: =(RC>=СЕГОДНЯ()+1)*(RC<=СЕГОДНЯ()+2+6/24) =(RC>=СЕГОДНЯ()+2)*(RC<=СЕГОДНЯ()+3+6/24) =(RC>=СЕГОДНЯ()+3)*(RC<=СЕГОДНЯ()+4) а вот что делать с 5 и 6 - ума не приложу... |
|
|
13.08.2020 20:33:54
Приветствую!
Столкнулся с проблемой, которую макросом решил бы за 5 секунд, но потребовалось именно условное форматирование. Почитал, почитал.. и понял, что в формулах УФ не могу ничего понять. Главное - можно ли это реализовать через формулы УФ. Так вот, задача, казалось бы простая - подсвечивать даты. Сегодня, завтра, текущая неделя, следующая неделя - мда.. выбор в УФ по датам скуден для более широкого применения. Но это полбеды. У Экселя там неделя начинается с воскресенья, вот это было откровением.. ну оно как бы и понятно - не наши люди разрабатывали. Остаются формулы в УФ. Но тут я ни бум-бум. Поможете, люди сведующие? Хотелось бы, что б подсвечивалось так, в порядке приоритета: 1. Сегодня. От текущего времени, но минус 2 часа и до +6 часов к следующим суткам 2. Завтра. От текущего дня +1 день и +6 часов к послезавтра 3. Послезавтра. От текущего дня +2 дня и +6 часов к послепослезавтра 4. Послепослезавтра. От текущего дня +3 дня 5. Текущая неделя от текущего дня (включая воскресенье), но не включая прошедшие дни недели 6. Следующая неделя от текущего дня (с понедельника) Если пункт 5 вызовет сложности - ну и бог с ним. |
|
|
09.04.2020 18:46:01
Да, с закреплением в Excel чудеса! Удалось заставить работать закрепление таким вот странным кодом:
Изменено: |
|||
|
03.04.2018 22:11:54
Изменено: |
|||
|
03.04.2018 21:25:13
Приведённые в пример файлы сильно отличаются в кол-ве строк и листов, коих в оригинальном файле очень много. 30+ листов в файле FILE.xls с порядка 500+ строк в каждом листе, нуждающихся в заполнении из книг с именами "2018-xx", но формат оригиналов сохранён (столбцы и нужные данные в строках)
Изменено: |
|||
|
03.04.2018 20:42:07
Здравствуйте. Столкнулся с тем, что ручная копирование-вставка из других файлов занимает много времени, и подумал, а нельзя ли это автоматизировать с помощью макроса? Сам в макросах не силён, поэтому спрошу - реально ли это вообще?
Хотелось бы: макрос, подставляющий значения из других книг в соответствии с найденными значениями. Файлы, из которых берутся данные имеют имена 2018-01, 2018-02, 2018-03 и тд (всего 12 файлов, по месяцам). В этих файлах содержатся листы, пронумерованные по дням (1-31). Задача макроса определить следующее: 0. Если в строке столбца B пусто, то тогда ничего не делать с этой строкой. 1. Если в столбце С (начиная с С1 и по С20) присутствует слово "НЕТ", то тогда ничего не делать с этой строкой. 2. В ином случае в столбце B определить первые две цифры как день месяца, после точки следующие две цифры - как месяц (вот это наверное сложно, так как всё текстовое) 3. Просмотреть в соответствующем файле месяца и соответствующем листе номеру дня на предмет совпадения данных из строки столбцов D и E, и если эти два значения (например, "Значение 1" и "Значение 2" из D1 и E1) находятся на одной из строк листа с соответствующей датой, то подставить (скопировать) в эту строку все значения с полями "ДАННЫЕ" в соответствующие ячейки (в ячейки в столбцах C, F, H, I и J) Вот как-то так. Что скажите, реально ли это сделать? Цену пишите. |
|
|