На этом шаге мы рассмотрим использование макрорекордера.
При написании программ, в которых используется те или иные возможности рабочего листа, а не только VBA, часто бывает удобным вариантом воспользоваться средством MacroRecorder. Он создаст макрос, описывающий на языке VBA осуществляемые вами действия. MacroRecorder является одним из интеллектуальных средств Microsoft Office, которое облегчает работу разработчиков приложений. Конечно, создаваемый им макрос будет во многих отношениях не оптимальным, но тем не менее он даст хорошую подсказку о том, какие инструкции должны быть добавлены в программу, чтобы добиться требуемого эффекта.
Итак, для активизации MacroRecorder выберите команду Сервис | Макрос | Начать запись (Tools | Macro | Record New Macro) и запустите MacroRecorder на запись. После задания всех параметров в появившемся диалоговом окне Запись макроса (Record Macro) и нажатия кнопки ОК, появится плавающая панель инструментов с кнопкой Остановить запись (Stop Recording). Теперь все производимые действия будут записываться до тех пор, пока не будет нажата эта кнопка.
Сперва решите уравнение, вычисляющее маргинальную процентную ставку. В ячейку В2 введено число выплат, равное 6, ячейка B7 отведена под процентную ставку, а в ячейку B8 введена формула =ПС(B7;B2;-B4), вычисляющая текущий объем ссуды. Требуется найти процентную ставку, при которой текущий объем ссуды равен 10 000.
Итак, MacroRecorder включен, осталось решить данную задачу вручную на рабочем листе и посмотреть на записанный макрос.
Решите задачу в соответствии со следующим алгоритмом:
Перечисленные выше действия будут переведены MacroRecorder в следующий макрос.
Sub Макрос1() ' ' Макрос1 Макрос ' Макрос записан 21.01.2014 (Ксенофон Заковыркин) ' ' Range("B8").GoalSeek Goal:=10000, ChangingCell:=Range("B7") End Sub
Как видно из записанного макроса, несмотря на многошаговость процесса решения уравнения вручную, программно это решение состоит только из одной инструкции. Во избежание ошибок при написании программ, те фрагменты, которые можно создать с помощью MacroRecorder, лучше и создавать с его помощью. Потом лишь скопировать их в исходную программу, внеся требуемые изменения, если в этом возникнет необходимость.
При написании программы данного приложения MacroRecorder может также пригодиться для задания числовых форматов в ячейках B3, В4, B5 и B7.
Итак, для активизации MacroRecorder выберите команду Сервис | Макрос | Начать запись (Tools | Macro | Record New Macro) и запустите MacroRecorder на запись.
Задавайте числовые форматы в ячейках B3, В4, B5 и B7 по следующему алгоритму:
Рис.1. Диалоговое окно Формат ячеек
Перечисленные выше действия будут переведены MacroRecorder в следующий макрос.
Sub Макрос2() ' ' Макрос2 Макрос ' Макрос записан 21.01.2014 (Ксенофон Заковыркин) ' ' Range("B3").Select Selection.NumberFormat = "#,##0$" Range("B4").Select Selection.NumberFormat = "#,##0$" Range("B5").Select Selection.NumberFormat = "0.00%" Range("B7").Select Selection.NumberFormat = "0.00%" End Sub
Созданные в данном макросе инструкции как раз и осуществляют требуемое в программе приложения форматирование.
На следующем шаге мы продолжим разработку приложений.