Изменение способа определения года в Excel (Microsoft Excel)
Брайан хотел бы ввести дату, указав только месяц и день.
Excel предполагает, что год является текущим годом, но он хотел бы, чтобы год был годом, когда эта дата наступит в следующий раз. Например, если сегодня 01.06.18 и Брайан вводит 7/1, Excel автоматически принимает 2018 год. Если Брайан вводит 5/1 в тот же день, то Excel должен принять 2019 год как 5/1. уже в прошлом. Брайан знает, что он может использовать формулу для отображения даты в другой ячейке, но задается вопросом, как заставить Excel использовать этот подход по умолчанию, когда он вводит даты в ячейки.
За исключением экспериментов с системной датой или внесения некоторых изменений в даты после ввода, решение требует использования макроса. Подойдет следующий обработчик событий:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Target = "" Then Exit Sub If IsDate(Target) Then If Target < Date Then If Year(Target) = Year(Date) Then Application.EnableEvents = False Target.Value = DateAdd("yyyy", 1, Target) Application.EnableEvents = True End If End If End If End Sub
Чтобы добавить этот макрос в свою книгу, просто щелкните правой кнопкой мыши вкладку рабочего листа, где вы хотите, чтобы он работал, а затем выберите «Просмотреть код». В появившемся окне кода добавьте указанный выше макрос.
Теперь каждый раз, когда вы вносите изменения в рабочий лист, проверяется, является ли это датой. Если это так и дата предшествует сегодняшней, то к дате добавляется год. Обратите внимание, что код проверяет, совпадает ли год вводимой даты с текущим годом. Без этой проверки любая дата в прошлом — даже даты много лет назад — была бы увеличена. Вероятно, это не предназначено, поэтому проверка включена.
Макрос не повлияет на даты, введенные в несколько ячеек одновременно, и не повлияет на даты, введенные как текстовые значения.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (13601) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.