Здравствуйте. Есть некий график посещения с отметками о выполнении. По окончании месяца ячейки с отметками должны очищаться, что бы дата посещения была актуальной на новый месяц. В файле, на данный момент, смог реализовать только выпадающий список, но в конце месяца отметки о выполнении надо снимать вручную. Есть ли возможность как-то автоматизировать процесс по удалению при наступлении 1-го числа следующего месяца? Либо, как вариант, присваивалось значение №2 из условия: Лист 1 ячейка F6
Здравствуйте. Есть некий график посещения с отметками о выполнении. По окончании месяца ячейки с отметками должны очищаться, что бы дата посещения была актуальной на новый месяц. В файле, на данный момент, смог реализовать только выпадающий список, но в конце месяца отметки о выполнении надо снимать вручную. Есть ли возможность как-то автоматизировать процесс по удалению при наступлении 1-го числа следующего месяца? Либо, как вариант, присваивалось значение №2 из условия: Лист 1 ячейка F6Новичёк
Не совсем понятно (судя по отсутствию ответов, не только мне), по какому событию должна происходить очистка? При открытии книги проверяется текущая дата, и если это 1-ое число месяца, то очищаем? А если не открыли книгу первого числа? Поясните логику
Не совсем понятно (судя по отсутствию ответов, не только мне), по какому событию должна происходить очистка? При открытии книги проверяется текущая дата, и если это 1-ое число месяца, то очищаем? А если не открыли книгу первого числа? Поясните логикуPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Логика, которую хотелось бы реализовать, следующая: в течении месяца напротив объектов, которые были посещены, ставим отметку "Выполнено" при помощи выпадающего списка (столбец F). По окончании текущего месяца (или начале следующего) ячейки, в которых стоят отметки "Выполнено" очищались бы разово, при первом открытии файла в новом месяце, без разницы, какого числа нового месяца был открыт файл. Будет ли очищаться ячейка, будет ли ей присваиваться пустая ячейка выпадающего списка или ещё как - не принципиально. И, если возможно, в строках, где в столбце "Напоминалка" (столбец Е) есть надпись "не посещено", в соответствующих ячейках "Дата посещения" (столбец С) дата бы при смене месяца не менялась.
Логика, которую хотелось бы реализовать, следующая: в течении месяца напротив объектов, которые были посещены, ставим отметку "Выполнено" при помощи выпадающего списка (столбец F). По окончании текущего месяца (или начале следующего) ячейки, в которых стоят отметки "Выполнено" очищались бы разово, при первом открытии файла в новом месяце, без разницы, какого числа нового месяца был открыт файл. Будет ли очищаться ячейка, будет ли ей присваиваться пустая ячейка выпадающего списка или ещё как - не принципиально. И, если возможно, в строках, где в столбце "Напоминалка" (столбец Е) есть надпись "не посещено", в соответствующих ячейках "Дата посещения" (столбец С) дата бы при смене месяца не менялась.Новичёк
Private Sub Workbook_Open() If Month(Sheets("Лист1").Range("I2").Value) <> Month(Date) Then Sheets("Объекты").ListObjects("Таблица1").ListColumns("Отметка о выполнении").DataBodyRange.ClearContents End If Sheets("Лист1").Range("I2") = Date End Sub
[/vba]
В модуль книги [vba]
Код
Private Sub Workbook_Open() If Month(Sheets("Лист1").Range("I2").Value) <> Month(Date) Then Sheets("Объекты").ListObjects("Таблица1").ListColumns("Отметка о выполнении").DataBodyRange.ClearContents End If Sheets("Лист1").Range("I2") = Date End Sub
Pelena, спасибо, что участвуете в моём вопросе. Только я не понял, как это работает. Ячейка с отметкой о выполнении не очищается ни при каких условиях. И наоборот, дата посещения при наличии отметки "не посещено" меняется при смене месяца. Ещё раз спасибо.
Pelena, спасибо, что участвуете в моём вопросе. Только я не понял, как это работает. Ячейка с отметкой о выполнении не очищается ни при каких условиях. И наоборот, дата посещения при наличии отметки "не посещено" меняется при смене месяца. Ещё раз спасибо.Новичёк
Не очищается. Или я неправильно макрос вставляю? Делаю так: Разработчик-Visual Basic-два клика ЛКМ по "Эта книга"-Paste-закрываю Visual Basic. И, если я правильно понял, макрос отработает только при 12 месяце. А если будет 1 месяц 20 года, то макрос уже не сработает?
Не очищается. Или я неправильно макрос вставляю? Делаю так: Разработчик-Visual Basic-два клика ЛКМ по "Эта книга"-Paste-закрываю Visual Basic. И, если я правильно понял, макрос отработает только при 12 месяце. А если будет 1 месяц 20 года, то макрос уже не сработает?Новичёк
Private Sub Workbook_Open() With Sheets("Лист1") If Month(.Range("I2")) <> Month(Date) Then Sheets("Объекты").ListObjects("Таблица1").ListColumns("Отметка о выполнении").DataBodyRange.ClearContents .Range("I2") = Date End If End With End Sub
[/vba] Только перед сохранением исправьте дату в I2 на ноябрь
А если немного переписать? [vba]
Код
Private Sub Workbook_Open() With Sheets("Лист1") If Month(.Range("I2")) <> Month(Date) Then Sheets("Объекты").ListObjects("Таблица1").ListColumns("Отметка о выполнении").DataBodyRange.ClearContents .Range("I2") = Date End If End With End Sub
[/vba] Только перед сохранением исправьте дату в I2 на ноябрь_Boroda_
И, если возможно, в строках, где в столбце "Напоминалка" (столбец Е) есть надпись "не посещено", в соответствующих ячейках "Дата посещения" (столбец С) дата бы при смене месяца не менялась.
_Boroda_, Pelena, Спасибо огромное. А по второй части вопроса можете подсказать?
И, если возможно, в строках, где в столбце "Напоминалка" (столбец Е) есть надпись "не посещено", в соответствующих ячейках "Дата посещения" (столбец С) дата бы при смене месяца не менялась.
При таком раскладе данных, как у Вас, можно только в том случае, если была только одна неявка, в предыдущем месяце. А если она (неявка) была 2 месяца назад? Кстати, у Вас там вроде не совсем то с формулами. №4 - понедельник третьей недели месяца. Для декабря все так - 16 декабря (не совсем так, см. сноску *). А если поставить там "Выполнено", то напишет 17 января 2020г. - пятница третьей недели месяца.
* Вам нужно определить, как Вы считаете недели месяца. Вот например, в декабре 2019г. - первое декабря приходится на воскресенье. Это первая неделя или первая неделя начнется с первого понедельника? Или с той недели, в которой первый четверг месяца (по типу стандарта ISO 8601)?
В любом случае правка формулы к этой теме не относится
При таком раскладе данных, как у Вас, можно только в том случае, если была только одна неявка, в предыдущем месяце. А если она (неявка) была 2 месяца назад? Кстати, у Вас там вроде не совсем то с формулами. №4 - понедельник третьей недели месяца. Для декабря все так - 16 декабря (не совсем так, см. сноску *). А если поставить там "Выполнено", то напишет 17 января 2020г. - пятница третьей недели месяца.
* Вам нужно определить, как Вы считаете недели месяца. Вот например, в декабре 2019г. - первое декабря приходится на воскресенье. Это первая неделя или первая неделя начнется с первого понедельника? Или с той недели, в которой первый четверг месяца (по типу стандарта ISO 8601)?
В любом случае правка формулы к этой теме не относится_Boroda_
При таком раскладе данных, как у Вас, можно только в том случае, если была только одна неявка, в предыдущем месяце
Неявку больше одного месяца можно не рассматривать.
Первая неделя-это первое число месяца, даже если этих дней в первую неделю не было. По другому просто не получилось сделать.
P/S Ваша правда, следующую дату показывает неправильно. Пока получилось сделать так, дальше буду думать, как поправить. Какая-то неточность с вычитанием дат.
При таком раскладе данных, как у Вас, можно только в том случае, если была только одна неявка, в предыдущем месяце
Неявку больше одного месяца можно не рассматривать.
Первая неделя-это первое число месяца, даже если этих дней в первую неделю не было. По другому просто не получилось сделать.
P/S Ваша правда, следующую дату показывает неправильно. Пока получилось сделать так, дальше буду думать, как поправить. Какая-то неточность с вычитанием дат.Новичёк
Сообщение отредактировал Новичёк - Понедельник, 02.12.2019, 15:57
И, если возможно, в строках, где в столбце "Напоминалка" (столбец Е) есть надпись "не посещено", в соответствующих ячейках "Дата посещения" (столбец С) дата бы при смене месяца не менялась
При таком раскладе данных, как у Вас, можно только в том случае, если была только одна неявка, в предыдущем месяце. А если она (неявка) была 2 месяца назад?
И, если возможно, в строках, где в столбце "Напоминалка" (столбец Е) есть надпись "не посещено", в соответствующих ячейках "Дата посещения" (столбец С) дата бы при смене месяца не менялась
При таком раскладе данных, как у Вас, можно только в том случае, если была только одна неявка, в предыдущем месяце. А если она (неявка) была 2 месяца назад?