Шаг 253.
VBA в MSExcel. Создание текстовых документов... . Расчет полного количества лет, дней и месяцев в интервале указанных дат

    На этом шаге мы рассмотрим основные элементы модуля, реализующего вычисление количества дней, месяцев и лет между двумя датами.

    На практике довольно часто приходится определять количество дней, месяцев и лет между двумя датами. При классическом использовании Excel возможны два метода их определения, которые показаны на рисунке 1.


Рис.1. Примеры определения количества дней, месяцев и лет в интервале между двумя датами

    Метод 1 (строки 4:6). Вычтя одну дату из другой и применив функции ГОД, МЕСЯЦ и ДЕНЬ, можно определить эти данные, но Excel анализирует дату, полученную в результате вычитания, и поэтому полученный результат не будет достоверным.

    Метод 2 (строки 8:10). Он состоит в том, чтобы определить год, месяц и день отдельно в двух датах, а затем произвести операцию вычитания этих составляющих. Но при вычитании отдельно лет, месяцев и дней результат может носить отрицательный характер, а такого быть не может.

    На основании второго метода попытаемся проанализировать и использовать полученные результаты. На рисунке 2 приведен пример модуля определения количества лет, месяцев и дней.


Рис.2. Модуль расчета количества лет, месяцев и дней в интервале между датами

    Модуль занимает диапазон ячеек В4:D6. В ячейки В4 и В5, являющимися входом модуля, вводятся даты. Выходы модуля:

    Формула в ячейке D4 работает по следующему алгоритму:

    Похожий алгоритм заложен и в формулах для определения количества месяцев и дней в ячейках D5 и D6.

    Формулы в ячейках С4 и С5 проводят дополнительный анализ количества календарных дней в месяце, находящемся в большей дате (ячейка В4):

    Для того чтобы написать прописью определенные количество месяцев, дней и лет, необходимо соединить в единое целое (рисунок 4):


Рис.4. Модули написания прописью количества лет, месяцев и дней между двумя датами

    Входами модуля написания текста являются ячейки В9; С9 и D9, в которые введены ссылки на соответствующие ячейки выхода модуля определения параметров.

    На следующем шаге мы рассмотрим структуру создаваемого приложения.




Предыдущий шаг Содержание Следующий шаг