На этом шаге мы рассмотрим некоторые способы автоматического назначения различных параметров.
В ячейку С5 могут вводиться следующие данные:
Рассмотрим два первых случая. Для формирования текущей даты в ячейку С5 введите формулу:
=ЕСЛИ(B5;СЕГОДНЯ();0)
Для ввода другой даты, ее необходимо ввести с клавиатуры, следовательно, удалив формулу, находящуюся в ячейке С5.
В зависимости от взаимной договоренности между сторонами, в договор могут быть внесены различные сроки оплаты по нему. Номер договора может быть сформирован по методологии принятой на одном из предприятий, представители которого подписывают договор. Исходя из этого, эти данные могут вводиться при создании договора на компьютере или иметь пробелы для внесения этих данных от руки в момент его подписания. Исходя из этого, при создании договора в Excel могут быть следующие версии:
Исходя из этого и созданы формулы в ячейках С3 и С7, которые в зависимости от значения от 1 до 4, введенных в ячейку В3, формируют одно из значений.
Срок оплаты покупателем, согласно условий договора, вводится (или формируется) в ячейку С7 и может быть:
Для автоматизации определения даты оплаты введите в ячейку С7 формулу:
=ЕСЛИ(ИЛИ(B3=3;B3=4);"";ЕСЛИ(C5=0;"";C5+14))
Номер, присваиваемый создаваемому договору, можно вводить в ячейку С3 и с клавиатуры, а можно задать алгоритм, по которому этот номер будет формироваться самостоятельно. Рассмотрим формулу, которая находится в ячейке С3:
=ЕСЛИ(И(B3<>2;B3<>4);ЕСЛИ(C5=0;"________";АА3);"б/н")
В первом аргументе первой функции ЕСЛИ находится функция И, которая возвращает значение ЛОЖЬ, если в ячейке В3 находятся значения 2 или 4. Тогда формула возвращает текст б/н, введенный в третий аргумент первой функции ЕСЛИ.
Если же формула переходит к вычислению второй функции ЕСЛИ, то тогда при отсутствии в ячейке С5 введенной даты заключения договора, второй аргумент второй функции ЕСЛИ возвращается значение: ____________ (прочерк).
При введенной в ячейку С5 дате заключения договора, вторая функция ЕСЛИ переходит к своему третьему аргументу, который содержит ссылку на ячейку АА3.
Формула в ячейке АА3:
=СЦЕПИТЬ(ПРАВСИМВ(ГОД(C5);2);СЦЕПИТЬ(ЕСЛИ(МЕСЯЦ(C5)<9;"0";""); МЕСЯЦ(C5));СЦЕПИТЬ(ЕСЛИ(ДЕНЬ(C5)<9;"0";"");ДЕНЬ(C5));"/";МАКС(Архив!A2:A1000)+1)
Допустим, номер создаваемого договора состоит из двух частей: даты заключения договора и порядкового номера, соединенных через символ "/".
Дата, в свою очередь, состоит из шести символов расположенных последовательно: двух последних цифр номера текущего года, двух цифр текущего номера месяца и двух цифр номера дня заключения договора в этом месяце. Порядковый номер определяется, как увеличенный на единицу максимальный порядковый номер договора, которые содержатся в базе данных регистрации номеров.
Формула с помощью функции СЦЕПИТЬ объединяет следующие элементы:
Как уже было отмечено, управление формулами в ячейках С3 (номер договора) и С7 (срок оплаты) производится с помощью значений 1, 2, 3 и 4, вводимых в ячейку В3. Но не совсем удобно - вводить с клавиатуры эти значения, которые нужно помнить, и, как следствие, возможен ввод ошибки.
Для выбора нужного значения, вводимого в ячейку В3, используя панель Формы (рисунок 1) создайте четыре элемента управления Переключатель (рисунок 2), активизация каждого из которых, будет изменять содержимое ячейки В3 от значения 1 до значения 4.
Рис.1. Панель инструментов Формы
Рис.2. Фрагмент рабочего листа Договор с элементами управления
Эти элементы управления создаются аналогично описанным на 232 шаге (Счетчик и Список).
При создании переключателей, введите в них текст:
Для управления содержимым ячейки В3 выделите первый созданный элемент управления Переключатель и выполните команду Формат | Элемент управления или комбинацию клавиш Ctrl+1, вызовите диалоговое окно Формат элемента управления (рисунок 3), в котором на вкладке Элемент управления в поле Связать с ячейкой укажите адрес ячейки В3.
Рис.3. Диалоговое окно Формат элемента управления элемента управления Переключатель
В каждый конкретный момент времени активным может быть только один переключатель из четырех. При активизации одного из переключателей, переключатель, который до этого был активизирован, автоматически меняет свое состояние на пассивное, а соответственно будет изменяться и содержимое управляемой ячейки В3 от значения 1 до значения 4.
Для управления содержимым ячейки В5, значение которой управляет формулой, находящейся в ячейке С5 (дата заключения договора) создайте элемент управления Флажок (рисунок 2).
Для управления ячейкой В5 в диалоговом окне Формат элемента управления на вкладке Элемент управления в поле Связать с ячейкой укажите адрес ячейки В5. Если флажок активизирован, то ячейка В5 будет возвращать значение ИСТИНА, в противном случае ЛОЖЬ.
В зависимости от номера, присваиваемого договору и его даты заключения, присутствует возможность их ввода непосредственно в ячейки с клавиатуры. Естественно, в таком случае формулы, содержащиеся в этих ячейках, будут удалены. Для того чтобы не вводить их в последующем, назначьте элементам управления Переключатель и Флажок макросы, которые будут автоматически восстанавливать эти формулы при обращении к любому из этих элементов управления.
Задача макроса НомерДатаОплатыДоговор (рисунок 4) - при активизации любого переключателя предусмотреть возможность ввода формул в ячейки С3 и С7. Для этого запишите макрос, выполнив следующую последовательность действий:
Рис.4. Макросы, назначенные элементам управления для обновления формул
Макрос ДатаЗаключенияДоговора (рисунок 4) вводит формулу в ячейку С5 при обращении к элементу управления Флажок и создается аналогично предыдущему.
Для присвоения макроса элементу управления, выделите его и нажатием на правую кнопку мыши и вызовите контекстное меню (рисунок 5), в котором выберите команду Назначить макрос. В появившемся диалоговом окне Назначить макрос объекту (рисунок 6) в поле Имя макроса выберите макрос и нажмите кнопку ОК.
Рис.5. Контекстное меню при назначении макроса элементу управления
Рис.6. Диалоговое окно Назначить макрос объекту
На следующем шаге мы рассмотрим область формирования элементов договора.