Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Запуск макросов через отслеживание изменений диапазона с анализом вводимых значений
 
БМВ, и Вам спасибо! Помню, что где-то тоже помогали  :)
Запуск макросов через отслеживание изменений диапазона с анализом вводимых значений
 
Спасибо большое!!! Сейчас попробую)

UPD: Да, всё работает! Оказывается, всё было так просто!  А я навертела лишних сущностей :D

Цитата
DANIKOLA написал:
В самих макросах есть проблемы: Range(ActiveCell.Offset(0, -1)... А ActiveCell - это уже столбец "А" влево от него не сместишься выходит ошибка или это файл-пример кривой.
Нет, всё порядке. Просто, когда я вношу данные, я всегда перехожу ВПРАВО, а не вниз. Ну, автоматизм такой... Файл, кроме меня, никто не использует, так что это проблемы не составляет.

Если сейчас, когда вставлю запускатор, обнаружатся ошибки - поправлю макрос. Спасибо!)
Изменено: macovea - 18.03.2024 13:31:02
Запуск макросов через отслеживание изменений диапазона с анализом вводимых значений
 
Добрый день, уважаемые Эксель-гуру! Снова я иду к вам за помощью...

Для облегчения собственной работы делаю файл-базу для кучи целей, возникла проблема с автоматической активацией макросов (чтобы не руками, хотя можно и так, конечно...) через отслеживание изменений первого столбца одного листа.

Сами макросы собраны и работают отлично, осталось прописать условия их запуска, и вот с ними загвоздка: не могу сообразить, что делаю не так!

Прилагаю последнюю версию моих мучений, всё заремила, потому что не работает ничего... Формула вообще просто кусок формулы с листа.
Там же описаны условия, которые должны проверяться при изменении этого диапазона. В какой-то момент я всё же добилась то ли от Call, то ли от Run вывода окна со всеми макросами файла, но заставить именно запустить так и не удалось...

Код
Private Sub Worksheet_Change(ByVal Target As Range)
'Dim Tar As Variant, Dog As Boolean, LTar As Integer
If Not Intersect(Target, Range("A2:A5000")) Is Nothing Then
Application.EnableEvents = False

'    Tar = Target
'    Dog = IfError(Search("/", Tar) < 2, True)
'    LTar = Len(Tar)
    
' если это номер договора (есть слеш /) - не делать ничего
'    If Dog = True Then Exit Sub

' если это трёхзначное число - выполнить макрос ZapIpso
'    If LTar = 3 Then Run ZapIpso

' если это число более трёх знаков - выполнить макрос Spacing
'    If LTar > 3 Then Run Spacing

Application.EnableEvents = True
End If
End Sub


В Поиске не нашла ничего полезного. Может, конечно, искала плохо.

Офис 2021.
Массовая замена слов в тексте
 
МатросНаЗебре, вау, это магия какая-то) Работает! Спасибо!!! Ещё и с описанием... Впечатлена)
Попробовала поменять названия переменных - перестала работать. Вернула - снова работает)) Магия, не иначе!)

tutochkin, сжато, элегантно, и тоже работает) Спасибо огромное!!!
Массовая замена слов в тексте
 
Доброго всем дня!

Перерыла поиск, но так и не нашла: всё-таки, возможно ли превратить этот макрос в формулу? Что-то вроде аналога стандартного ПОДСТАВИТЬ, но с диапазонами вместо конкретных значений? Или это невозможно, и только макрос

Цитата
Андрей_26 написал:
Решение давно  есть
Решение - огонь, я его нашла, но это макрос, а мне бы формулу пользовательскую...
Изменено: macovea - 25.10.2023 16:22:59
Выборка значений из крайнего левого столбца по условию непустых ячеек в диапазоне другого листа
 
МатросНаЗебре, вау. Получилось!) Спасибо огромное!!!  :*
Надо как-то разобраться с этими произведениями... Хорошая штука, оказывается)
Выборка значений из крайнего левого столбца по условию непустых ячеек в диапазоне другого листа
 
Цитата
МатросНаЗебре написал:
У меня эта ошибка не воспроизводится.
Странно... А у меня вот так.
Выборка значений из крайнего левого столбца по условию непустых ячеек в диапазоне другого листа
 
МатросНаЗебре, ооо, спасибо огромное! Пока так и не разобралась, как работают эти произведения, не раз видела в других формулах.

Есть проблема: когда группы две - работает чудесно (проверила, да  :) ), но если одна - возникают сложности: значение "двоится", то есть, выводится два одинаковых значения... А хотелось бы одно - значение, и второе - пустое место. Это возможно?
Когда ни одной - всё правильно, выводится пустое место в обеих строках, как и должно быть.
Выборка значений из крайнего левого столбца по условию непустых ячеек в диапазоне другого листа
 
Доброго дня, форумчане!

Помогите, пожалуйста, сделать формулу (скорее всего, массива), чтобы она подтягивала значения (номера групп) с другого листа в зависимости от текущей даты по условию непустых ячеек в определённом диапазоне. За два месяца уже как-то подзаколебалась руками править... Всего две ячейки, но каждый день, и иногда забываю изменять, а файл в общем режиме... В общем, проще формулой подтягивать автоматом, уж в табеле-то точно не забудем выставить значения!)

Что делала: пыталась разобраться с левым ВПР, ИНДЕКС и ПОИСКПОЗ, но что-то так и не поняла, как к моему случаю применить...

Похожая тема: Выборка непустых значений из массива
Почему не подходит: лучше без дополнительных столбцов, так как табелей много, которые собираются в сводный... в общем, лучше без изменения структуры.

Условия: Excel 2007
Выделить часы по программам, вычитанные другими педагогами, вместо тех, что были на больничном
 
Цитата
Настя_Nastya написал:
Для каждого педагога отдельное правило.
То есть, я зря делала формулу для поиска адреса форматируемой ячейки? И для каждого педагога строго своё правило? Уф... полсотни правил... Ладно. Спасибо! Пойду посмотрю соседнюю ветку, там задача похожая.

UPD: а нет там обновлений, в соседней ветке... Эх) Я-то надеялась на какой-то универсальный способ) Пойду клепать пятьдесят условий...
Изменено: macovea - 24.02.2022 09:42:49
Выделить часы по программам, вычитанные другими педагогами, вместо тех, что были на больничном
 
Дорогие форумчане! Я снова со странными вопросами пришла...

Хочу создать правило условного форматирования, которое выделяло бы цветом часы по программам, вычитанные другими педагогами, вместо тех, что были на больничном (замены на отдельном листе).

Думала, как это организовать, придумался такой способ: найти адреса ячеек, которые, собственно, надо перекрасить, даже создала "служебный" столбец с формулой. Теперь надо как-то загнать в условие проверку на наличие адреса форматируемой ячейки в этом столбце, но пока не соображу, как именно. Хотя, возможно, есть какой-то другой путь решения этой задачи, не тот, что я придумала... Буду рада!
Формула РАБДЕНЬ (в моём варианте) признаёт рабочим первое число месяца, если оно попадает на сб или вс
 
Цитата
Luna2903 написал:
Если использовать РАБДЕНЬ.МЕЖД
Ага, чудно. Только у меня офис 2007, и на эту функцию Эксель выдаёт ошибку #ИМЯ?  :D Мой косяк, надо было указать версию офиса.

Хотя мысль с предыдущим месяцем оказалась удачной, я видоизменила формулу, оказалось, что и РАБДЕНЬ так умеет считать, оно заработало!) Спасибо огромное!!!  :*
Теперь она выглядит так и РАБОТАЕТ!!!
Код
=РАБДЕНЬ(ДАТА(год;МЕСЯЦ(месяц&"1");1)-1;1;праздники)


Цитата
sokol92 написал:
Можно так же и РАБДЕНЬ
Так у меня именно с РАБДЕНЬ и проблема была) Если первое число падает на субботу - он внезапно рабочий) Надо было просто взять не первое число, а предыдущее, и сдвинуть на месяц - и заработало)

Цитата
aequit написал:
macovea , не так давно делал похожее для своих проектов, попробуйте, может будет полезным.
Спасибо большое, но там тоже РАБДЕНЬ.МЕЖД, который мне недоступен. Хотя на будущее заметку себе сделала, дома попробую посмотреть, как и куда можно приложить эту функцию.  :)

PS: Админы, тему можно закрывать, проблему решили!)
Формула РАБДЕНЬ (в моём варианте) признаёт рабочим первое число месяца, если оно попадает на сб или вс
 
Привет, форумчане!

Пытаюсь сделать "динамический календарь" рабочих дней на любой выбранный месяц, реализовала с помощью РАБДЕНЬ и букетика вспомогательных. Однако возникла такая сложность: почему-то, если первое число падает на субботу или воскресенье, РАБДЕНЬ считает его рабочим... Например, первое января и первое мая. Что я делаю не так? Где поправить?
При этом, если первое число реально рабочий день, всё остальное считается нормально.

Формула вот такая.
Код
=РАБДЕНЬ(ДАТА(год;МЕСЯЦ(месяц&"1");1);0;праздники)


Файл прилагаю.
Проверка данных типа "список" из одного значения по условию текущего листа с использованием именованных диапазонов
 
Цитата
Sanja написал: вообще ни разу не похож на то, что
Ага, не похож. Потому что Эксель упорно все знаки препинания за разделители принимает) Мне-то всю строку целиком надо было)

Цитата
Sanja написал: Правильно сформулировать задачу - это, как минимум наполовину, ее решить
Это я в курсе)) Ещё бы сформулировать))

Но по-любому, ребята - вы лучшие, просто кладезь) Хотя и рычите...
Проверка данных типа "список" из одного значения по условию текущего листа с использованием именованных диапазонов
 
ЕЕЕЙ!!! Я это сделала!!!

В общем, да, через ВПР фигня выходит. Реализовала через именование ячеек таблицы на листе "данные" и использование ДВССЫЛ.
Кому интересно, можете заглянуть в файл)

Sanja, за макрос, хоть и не пригодился, всё равно спасибо!  :*

Ну и тему можно закрыть, как решённую.
Проверка данных типа "список" из одного значения по условию текущего листа с использованием именованных диапазонов
 
Цитата
Sanja написал:
Или значения 'семье', отдельно от 'нарушения социального статуса в' будет достаточно и понятно?
Вообще, там нужна строка целиком... То есть, и в семье, и в обществе, и в коллективе)

Цитата
Sanja написал:
Не знаю насколько элегантно, но ... макросы (в модуле листа)
Ага... Спасибо, поразбираюсь с макросами...

Стало быть, формулами такое никак не реализовать?
Хотя, вчера перед уходом я подумала про ДВССЫЛ, покручу сегодня, может, и выйдет что... А когда уже почти дошла до дома, в голову пришла вовсе ГПР)
Попробую, в общем.

Спасибо! Тему пока не закрывайте, плиз.
Изменено: macovea - 22.01.2019 08:44:07
Проверка данных типа "список" из одного значения по условию текущего листа с использованием именованных диапазонов
 
Цитата
Sanja написал: Сделайте в какой нибудь ячейки, в ручную,  выпадающий список в том виде, в каком он нужен
Если я сделаю его для этого конкретного листа - будет ли понятно, что этот список динамический? Что он меняется в зависимости от возраста ребёнка?

Хорошо, вот пример с выпадающим списком в ячейке, выделенной жёлтым, как мне хочется его видеть, но там вставлено просто ЗНАЧЕНИЕ, которое именно в этой ячейке нужно в списке. Сомневаюсь, что это чем-то поможет...

Если так будет понятнее - мне нужно, чтобы значения колонки "вторичные нарушения" стали значениями выпадающего списка этой же колонки, в каждой ячейке своими. То есть, если возраст ребёнка в данной конкретной строке попадает в диапазон 0-7 или 8-10 - то просто пробел (пустой выпадающий список - на листе "данные" в соответствующих ячейках стоят пробелы), если 11-14 или 15-18 - то то значение, которое я ввела вручную в проверку данных (и которое стоит в соответствующих ячейках на листе "данные").

UPD: Прошу прощения, Эксель принял запятые за разделители, обновила файл.
UPD2: Он опять сделал то же самое...  :cry: В общем, там нужна целиком строка, которая ниже в результатах вычисления формул.
Изменено: macovea - 21.01.2019 16:26:04
Проверка данных типа "список" из одного значения по условию текущего листа с использованием именованных диапазонов
 
Xapa6apga, спасибо, конечно, но это совсем не то, что нужно...
Мне нужен именно выпадающий список, и на этом конкретном листе только из 2 столбца... 3 и 4 столбцы - это психологические и педагогические нарушения, для них отдельные листы.
То, что ребёнок попадает в некий возрастной диапазон, не говорит о том, что у него ЕСТЬ эти нарушения, а лишь о том, что они у него МОГУТ быть, для чего и нужен именно выпадающий список, а не значение сразу, чтобы специалисты могли ВЫБРАТЬ, есть ли у данного конкретного ребёнка эти нарушения, или нет.
Изменено: macovea - 22.01.2019 15:28:47
Проверка данных типа "список" из одного значения по условию текущего листа с использованием именованных диапазонов
 
Доброго дня всем!

Опять туплю... часов несколько сижу, так и сяк кручу, и нифига не выходит... Проверка данных ругается на то, что "источник списка должен быть списком с разделителями или ссылкой на одну строку или столбец". Но разве итог ВПР - не текстовая строка, которая и (теоретически) является значением для выпадающего списка? Или я что-то не так понимаю? Добавление ТЕКСТ'а не помогло. В ячейке и так всё красиво, в проверке данных та же фигня.

Поиск тоже не помог - то, что нашлось, вообще никак с моей проблемой не связано...

Что есть:
- таблица с исходными данными (ФИ, возраст) и кучей колонок для заполнения - в данном случае лист "бытовая"
- лист с константными сведениями для заполнения части колонок - лист "данные"
- проблемный столбец "вторичные нарушения", где нужно в зависимости от указанного возраста выбрать (по диапазону в "данных") нужную ячейку для выпадающего списка (та самая проверка данных, которую я никак догрызть не могу)

Что сделано:
- диапазоны и константы убраны в именованные диапазоны (первоначально я забыла об этой особенности проверки данных - след остался в выделенной оранжевым ячейке)
- формула, выводящая нужный текст с листа "данные" (в выделенной сиреневым ячейке, а также по всему оставшемуся столбцу)

Что надо:
- чтобы в колонке "вторичные нарушения" был выпадающий список, содержащий значение из одной строки в зависимости от возраста, выбранного с листа "данные" в соответствии с условиями, заданными формулой (формулу, в принципе, можно изменить, лишь бы строка выбиралась правильно)

Если кто-нибудь подскажет более элегантное решение, буду безмерно счастлива, ибо заколебалась его искать.

Офис 2007.
Заранее большое спасибо! Всегда помогаете))

Если опять нарушила какое-то правило (особенно с названием темы) - не пинайте сильно, плиз, просто подскажите, я не спец в Экселе, в терминологии плаваю...
Два идентичных кода в разных столбцах работают по-разному, Помогите разобраться, почему!
 
Погодите, но я же с сообщения копировала код! Там была точка с запятой... Видимо, у меня глюки...

Но с запятой - всё работает, да) Благодарствую!

Цитата
RAN написал:
записано с ошибкой, а строка On Error Resume Next, при возникновении ошибки приводит к игнору условия, и выполнению макроса в любом месте листа.
О, спасибо за важное уточнение! Буду знать.

Всё, теперь точно тему можно закрыть  :)
Изменено: macovea - 24.10.2018 16:18:38
Два идентичных кода в разных столбцах работают по-разному, Помогите разобраться, почему!
 
Попробовала удалить второй диапазон - работает нормально. Причина в двух несвязанных диапазонах?
Так - работает.
Код
    If Not Intersect(Target, Range("D4:D200")) Is Nothing Then

Как только добавляется второй диапазон - начинает добавлять второе (третье, последующее) вводимое значение ко всем ячейкам на листе, а не только в указанных диапазонах.
Код
    If Not Intersect(Target, Range("D4:D200;F4:F200")) Is Nothing Then
Изменено: macovea - 24.10.2018 15:24:10
Два идентичных кода в разных столбцах работают по-разному, Помогите разобраться, почему!
 
Ребята, ап темы. Возникла проблема. Почему-то добавляются значения не только к контролируемому диапазону, а по всему листу... Где косяк?

Например, в выделенных жёлтым ячейках такого быть не должно. Макрос должен срабатывать ТОЛЬКО в диапазонах D4:D200 и F4:F200. Диапазон прописан. Где ошибка - непонятно.

Поправила файл.
Изменено: macovea - 24.10.2018 15:04:34
Два идентичных кода в разных столбцах работают по-разному, Помогите разобраться, почему!
 
О, а так можно, да? Я думала, для каждого отдельно)) Спасибочки!  :*  Обоим!)

PS: По аналогии адаптировала таки найденный код. Так что второй темы не будет, у меня всё заработало!  :D
Изменено: macovea - 23.10.2018 15:46:03
Два идентичных кода в разных столбцах работают по-разному, Помогите разобраться, почему!
 
Доброго дня, знатоки Экселя! Снова мне нужна ваша помощь...

Нашла на просторах Тырнета простой, как валенок, код для отображения в текущей ячейке нескольких значений из списка.
Но почему-то в одном столбце код работает как надо (добавляет значения к имеющемуся содержанию ячейки), а во втором не работает вовсе (значение полностью заменяется новым).
Почему так происходит? Может ли это быть связано с тем, что в первом случае значения маленькие (три буквы максимум), а во втором - довольно длинные фразы? Или в чём-то другом дело?

В файле примера в ячейке F4 показала, что хочу увидеть (несколько значений, разделённых "разрывом строки").

На выделенные жёлтым ячейки внимания не обращайте - это для следующей темы. Если таки не отыщу...

Заранее СПАСИБО!)
Комплексное сопровождение и настройка файла
 
Первую задачу решили))
Комплексное сопровождение и настройка файла
 
Работаем)
Комплексное сопровождение и настройка файла
 
Доброго времени суток, дорогие профи!
Не одну проблему, связанную с моим недостаточным знанием Excel, я решила с помощью Вас, и мне просто уже совестно обращаться за помощью "за так". Потому - перечисленные моменты я готова оплатить, правда, из своей зарплаты, а потому на большую оплату меня не хватит...  :(
Хотя, здесь собрались вполне себе разумные и адекватные люди, и думаю, мы договоримся. В любом случае, больше 1-1,5 тысяч в месяц я выделить не смогу никак.

Итак, что нужно. Заранее прошу прощения за, возможно, некоторое косноязычие, с терминами не очень хорошо знакома.  :)
1) Помочь настроить форму входа в файл с изменением отображения листов и строк - должны появляться скрытые в зависимости от того, кто зашёл (VBA, есть образец, но не могу сообразить, как его изменить под мои задачи)
2) Создать скользящий список для организации возможности выбора конкретного человека из базы данных по некоторым условиям (тут пока затрудняюсь с методами (VBA или формулы), что хочу получить на выходе - объясню подробнее тому, кто возьмётся; скорее, всё-таки, формулы)
3) Создать возможность отображения предыдущих результатов при обнаружении в базе данных повторного обращения человека (комбинация VBA и формул: при обнаружении маркера повтора должны открыться столбцы с предыдущими результатами, вынутыми из базы данных формулами)

Вот наиболее проблемные моменты, с которыми я не могу справиться сама, но просить бесплатной помощи за которые мне зазорно. Не против, если будет не один исполнитель, а несколько, работающих в команде - вознаграждение каждому) (в рамках озвученной выше суммы, конечно...)
Возможно, если сумма такая мизерная, решать не всё и сразу, а постепенно... :oops:
Изменено: macovea - 27.09.2018 08:20:16
Условное форматирование: сравнение адресов по контрольному списку
 
Цитата
a.i.mershik написал:
нет имел ввиду те которые ищем не в основной таблице а те которые в столбце H.
Я бы от них вообще хотела избавиться. Благодаря Сергею - поняла, как!) Оказывается, это не так уж и сложно!))
Цитата
Сергей написал:
разобрались?
Да, разобралась!) Спасибище прям вот такенное!!!)))
Условное форматирование: сравнение адресов по контрольному списку
 
Цитата
a.i.mershik написал:
у Вас название столбца есть с наименованиями улиц (искомыми данынми) - всегда одинаково называется?
В исходной таблице, подлежащей форматированию? Название столбца - всегда "улица". Да.

Сергей, я хочу на эту улицу!!!  :D
Условное форматирование: сравнение адресов по контрольному списку
 
А вот фиг(((
В общем, задача невыполнима, как я понимаю...
Печаль.

Ладно, буду думать, куда воткнуть список.
Спасибо!
Изменено: macovea - 06.04.2018 11:44:59
Страницы: 1 2 След.
Наверх