2. Порядок выполнения работы
Настройка Excel
Откройте книгу Excel. Сделайте ее настройку:
выполните команду Сервис / Параметры и в диалоговом окне выберите вкладку Общие, установив следующие параметры:
стиль ссылок R1C1: выключено;
листов в новой книге: 3;
стандартный шрифт: размер 10;
выберите рабочий каталог для сохранения новых книг;
введите имя пользователя;
выберите вкладку Вид, установив флажки следующих параметров:
отображать: область задач при запуске, строку формул, строку состояния, окна на панели задач;
примечания: только индикатор;
Рисунок 3 Настройка. Окно «Параметры», вкладка «Общие»
объекты: отображать;
параметры окна: заголовки строк и столбцов, горизонтальная полоса прокрутки, символы структуры, вертикальная полоса прокрутки, сетка, нулевые значения, ярлычки листов;
Рисунок 4 Настройка. Окно «Параметры», вкладка «Вид»
выберите вкладку Вычисления, установив флажки следующих параметров:
вычисления: автоматически;
параметры книги: обновлять удаленные ссылки, сохранять значения внешних связей.
Переименуйте рабочий лист, выполнив следующие действия:
установите указатель мыши на вкладку с именем листа (Лист 1) и вызовите контекстное меню, щелкнув правой клавишей мыши;
выберите в текстовом меню параметр «Переименовать», введите имя в диалоговое меню: «Исследование»
Сохраните созданную рабочую книгу с новым именем, выполнив команду Файл / Сохранить как.
Запись макроса
По исходным данным рассчитайте возраст пациентов
Рисунок 5 Таблица с исходными данными
Для отображения панели инструментов Visual Basic необходимо открыть пункт меню
Вид->Панели инструментов-> Visual Basic
Для записи макроса на панели инструментов Visual Basic необходимо нажать кнопку запись макроса
Введите имя макроса: ВозрастФормула
С этого момента все действия записываются в макрос.
Поставьте курсор в ячейку G4
Введите формулу для расчета возраста, формула рассчитывает разность между текущей датой и датой рождения:
=ГОД(СЕГОДНЯ())-ГОД(B4) - ЕСЛИ(ИЛИ(МЕСЯЦ(СЕГОДНЯ())<МЕСЯЦ(B4); И(МЕСЯЦ(СЕГОДНЯ())=МЕСЯЦ(B4);ДЕНЬ(СЕГОДНЯ())<ДЕНЬ(B4)));1;0)
функции СЕГОДНЯ: Возвращает текущую дату в числовом формате. Числовой формат даты — это код даты и времени, с помощью которого в Microsoft Excel производятся вычисления над датами и промежутками времени.
функции ГОД: Возвращает год, соответствующий заданной дате. Год определяется как целое число в диапазоне от 1900 до 9999.
Скопируйте созданную формулу до ячейки G13
Остановите запись макроса (кнопка стоп)
Рисунок 6 Таблица с результатом выполнения записанного макроса «ВозрастФормула»
Для просмотра результата записи макроса необходимо зайти в пункт меню
Сервис->Макрос->Редактор Visual Basic
Рисунок 7 Путь к Редактору Visual Basic
Командой Сервис / Макрос / Редактор VisualBasic запустите редактор VisualBasic. В окне проектов (Project-VBAProject) раскройте содержимое проекта VBAProject(PERSONAL.XLS) и ветвь Modules. В ее составе должен быть один (например, Module1) или несколько модулей. Дважды щелкните левой кнопкой мыши по имени модуля. В ответ в правом верхнем окне должен появиться его текст. Просмотрите содержимое модулей и найдите записанный вами макрос.
Изучите текст макроса.
Листинг макроса ВозрастФормула
Sub ВозрастФормула()
ActiveCell.FormulaR1C1 = _
"=YEAR(TODAY())-YEAR(RC[-5])-IF(OR(MONTH(TODAY())<MONTH(RC[-5]),AND(MONTH(TODAY())=MONTH(RC[-5]),DAY(TODAY())<DAY(RC[-5]))),1,0)"
Selection.AutoFill Destination:=Range("G4:G13"), Type:=xlFillDefault
End Sub
Причем, значение xlFillDefault - приложение Microsoft Office Excel выбирает наиболее подходящий тип заполнения в соответствии с исходным диапазоном.
