Добрый день. Стоит такая задача автоматически вводить даты в ячейку А1 при изменении/вводе в ячейку B1. Была вот такая реализация. http://forum.msexcel.ru/microso.....0.html
Quote
Помогите создать макрос, чтобы вводил текущую дату в ячейке А1 при создании новой записи в ячейке В1. Что-то типа регистрационного журнала: ввожу фамилию в ячейку В1, автоматически в ячейке А1 появляется текущая дата, при этом ячейка с датой должна быть защищена от редактирования.
Но требуется реализация без макросов. Если правильно понимаю, то нужно использовать ЕСЛИ и СЕГОДНЯ() или TDATE(). Заранее благодарен.
Добрый день. Стоит такая задача автоматически вводить даты в ячейку А1 при изменении/вводе в ячейку B1. Была вот такая реализация. http://forum.msexcel.ru/microso.....0.html
Quote
Помогите создать макрос, чтобы вводил текущую дату в ячейке А1 при создании новой записи в ячейке В1. Что-то типа регистрационного журнала: ввожу фамилию в ячейку В1, автоматически в ячейке А1 появляется текущая дата, при этом ячейка с датой должна быть защищена от редактирования.
Но требуется реализация без макросов. Если правильно понимаю, то нужно использовать ЕСЛИ и СЕГОДНЯ() или TDATE(). Заранее благодарен.Mulifen
Michael_S можно подробнее про итерации. Дата в принципе должна меняться 1 раз, но возможно что и несколько. (Стоит задача автоматического формирования журнала заявок (дата подачи, кем, и собственно текст заявки) И нужно фиксировать дату внесения (т.к. замучали либо вообще не пишут или пишут не всегда корректно + потом вносят изменения в текст, а дату не меняют, соответственно заявка выполняется по старым условиям а при проверке выясняется что неправильно исполнили))
Michael_S можно подробнее про итерации. Дата в принципе должна меняться 1 раз, но возможно что и несколько. (Стоит задача автоматического формирования журнала заявок (дата подачи, кем, и собственно текст заявки) И нужно фиксировать дату внесения (т.к. замучали либо вообще не пишут или пишут не всегда корректно + потом вносят изменения в текст, а дату не меняют, соответственно заявка выполняется по старым условиям а при проверке выясняется что неправильно исполнили))Mulifen
Изменяем ячейку В1. Ячейку С1 лучше скрыть или защитить от изменений. А1 тоже лучше защитить. При любом изменении в В1 будет меняться дата в А1.
ps. Замечу, что в реализации по такому методу тоже есть свои неудобства - время от времени при запуске файла будет выскакивать сообщение о циклических ссылках и придется вручную включать итерации.
Изменяем ячейку В1. Ячейку С1 лучше скрыть или защитить от изменений. А1 тоже лучше защитить. При любом изменении в В1 будет меняться дата в А1.
ps. Замечу, что в реализации по такому методу тоже есть свои неудобства - время от времени при запуске файла будет выскакивать сообщение о циклических ссылках и придется вручную включать итерации.Michael_S
Michael_S, доброго времени суток. два вопроса : 1) С1=ЕСЛИ(A1;B1) как вообще может работать половина формулы и при этом здесь вообще не прописаны никакие условия ?! 2) а почему нельзя С1 просто приравнять к В1: =B1
Michael_S, доброго времени суток. два вопроса : 1) С1=ЕСЛИ(A1;B1) как вообще может работать половина формулы и при этом здесь вообще не прописаны никакие условия ?! 2) а почему нельзя С1 просто приравнять к В1: =B10mega
Ну раз уж меня спрашивают, отвечу и я. 1)=ЕСЛИ(A1;B1) В А1 стоит дата, т.е.- число, это главное условие для возможности применения такой записи. В логических функциях (а здесь именно логическое условие) ноль=ложь, все, что не равно нулю - истина. В А1<>0, следовательно А1=ИСТИНА. В функции ЕСЛИ() не обязательно указывать значение, принимаемое при условии ЛОЖЬ. В этом случае по умолчанию возвращается ЛОЖЬ. Попробуйте в А1 писать любые числа (ноль, положительные, отрицательные), и посмотрите, что будет в С1.
2)Если написать сразу в С1 =В1, то после изменения в В1 сначала изменится значение в С1, и только потом будет вычисляться А1, а следовательно ничего не изменится. Для того, что бы запустить функцию в А1, необходимо обратиться к этой ячейке непосредственно.
Работает Все это так. В В1 меняется значение. В С1 сначала проверяется условие А1, а поскольку там летучая функция ТДАТА(), то сначала она пересчитывается, получаем ИСТИНА, и в С1 возвращается значение В1. Если бы не были включены итерации, комп бы впал в "кому" :), а так все это происходит один раз (или сколько указанно).
Ну раз уж меня спрашивают, отвечу и я. 1)=ЕСЛИ(A1;B1) В А1 стоит дата, т.е.- число, это главное условие для возможности применения такой записи. В логических функциях (а здесь именно логическое условие) ноль=ложь, все, что не равно нулю - истина. В А1<>0, следовательно А1=ИСТИНА. В функции ЕСЛИ() не обязательно указывать значение, принимаемое при условии ЛОЖЬ. В этом случае по умолчанию возвращается ЛОЖЬ. Попробуйте в А1 писать любые числа (ноль, положительные, отрицательные), и посмотрите, что будет в С1.
2)Если написать сразу в С1 =В1, то после изменения в В1 сначала изменится значение в С1, и только потом будет вычисляться А1, а следовательно ничего не изменится. Для того, что бы запустить функцию в А1, необходимо обратиться к этой ячейке непосредственно.
Работает Все это так. В В1 меняется значение. В С1 сначала проверяется условие А1, а поскольку там летучая функция ТДАТА(), то сначала она пересчитывается, получаем ИСТИНА, и в С1 возвращается значение В1. Если бы не были включены итерации, комп бы впал в "кому" :), а так все это происходит один раз (или сколько указанно).Michael_S
Здравствуйте! Нужна помощь в следующем: есть 31 лист (по числу дней в месяце), на каждом из них стоит дата в формате дд.мм.гг. Необходимо сделать так, чтобы при изменении месяца (по прошествии месяца) или года (по прошествии года) на одном листе, менялся месяц/год на другом. ПРоще говоря на листах стоит дата 01.01.13 по 31.01.13 (за январь) Сейчас необходимо поменять на 01.13.13 по 31.03.13 и чтобы в перспективе при изменении месяца или года на одном из листов дата менялась и на всех остальных. Заранее спасибо
Здравствуйте! Нужна помощь в следующем: есть 31 лист (по числу дней в месяце), на каждом из них стоит дата в формате дд.мм.гг. Необходимо сделать так, чтобы при изменении месяца (по прошествии месяца) или года (по прошествии года) на одном листе, менялся месяц/год на другом. ПРоще говоря на листах стоит дата 01.01.13 по 31.01.13 (за январь) Сейчас необходимо поменять на 01.13.13 по 31.03.13 и чтобы в перспективе при изменении месяца или года на одном из листов дата менялась и на всех остальных. Заранее спасибоGASik