Самоучитель VBA

       

Объект Scenario



Объект scenario (сценарий) позволяет хранить несколько значений в одной ячейке. Каждое уникальное значение в ячейке или каждая уникальная группа значений для группы ячеек называется сценарием. Семейство scenarios (сценарии) содержит все сценарии рабочего листа. Вручную сценарии создаются с помощью команды Сервис, Сценарии (Tools, Scenarios).

Рассмотрим методы объекта Scenario.

Add

Добавляет новый сценарий.

Синтаксис:

Add (Name, ChangingCells, Values, Comment, Locked, Hidden)

Аргументы:

  • Name — имя сценария



  • ChangingCells — диапазон, отводимый под изменяемые ячейки сценария

  • values — массив значений, вводимых в изменяемые ячейки

  • Comment — текстовая строка комментариев

  • Locked — допустимые значения: True (заблокировано изменение сценария) и False (в противном случае)

  • Hidden — допустимые значения: True (сценарий скрыт) и False (в противном случае)

  • Show

    Показывает сценарий посредством ввода значений сценария в изменяемые ячейки

    ChangeScenario

    Изменяет группу изменяемых ячеек.

    Синтаксис:

    ChangeScenario (ChangingCells, Values)

  • ChangingCells — группа ячеек, которая будет играть роль новой группы изменяемых ячеек

    values — массив с новыми значениями изменяемых ячеек

  • Delete

    Удаляет сценарий

    Рассмотрим наиболее часто используемые свойства объекта scenario.

    ChangingCells

    Возвращает диапазон изменяемых ячеек. Например,

    Scenarios (1) .ChangingCells . Select

    Value

    Возвращает массив текущих значений изменяемых ячеек. Например,

    Scenarios (I) .Values = Worksheets ( "Sheetl") .Range ("C5:T5") или Scenarios (1) .Values = Array (1, 3, 5, 7, 11, 13, 17, 19)

    Приведем соответствие между аргументами методов Add и show семейства scenarios и созданием сценариев вручную при помощи команды Сервис, Сценарии (Tools, Scenarios) на примере создания расчета суммарных затрат (рис. 4.1) при двух вариантах (сценариях) стоимостей комплектующих и расходных материалов (табл. 4.1).




    Рис. 4.1. Расчет суммарных затрат

    Таблица 4.1. Два варианта стоимостей



    Вариант



    Комплектующие



    Расходные материалы



    1

    2



    1000

    800



    200

    300

    Суммарные затраты вычисляются в ячейке В5 по формуле:

    =СУММ(В3:В4)



    Шаг 1



    Выберите команду Сервис, Сценарии (Tools, Scenarios). Появится диалоговое окно Диспетчер сценариев (Scenario Manager) (рис. 4.2). Нажмите кнопку Добавить (Add).



    Рис. 4.2. Диалоговое окно Диспетчер сценариев



    Шаг 2



    В появившемся диалоговом окне Добавление сценария (Add Scenario) (рис. 4.3):

  • В поле Название сценария (Scenario Name) вводится имя создаваемого сценария. Введите, например, вариант 1 .

  • В поле Изменяемые ячейки (Changing Cells) вводятся ссылки на ячейки, в которые будут заноситься значения, соответствующие данному сценарию. Введите ссылки на диапазон ячеек $В$3:$В$4.

    Нажмите кнопку ОК.



  • ШагЗ



    В появившемся диалоговом окне Значения ячеек сценария

    (Scenario Values) в поля, помеченные именами изменяемых ячеек, . вводятся соответствующие значения (рис. 4.4). В данном случае в поле $в$з введите юоо, а в поле $в$4 введите 200. Нажатие кнопки Добавить (Add) приведет к появлению диалогового окна Добавление сценария (Add Scenario), в котором следует ввести параметры второго сценария и т. д. После создания требуемого количества сценариев нажмите кнопку ОК, которая приведет к завершению создания сценариев.



    Рис. 4.3. Диалоговое окно Добавление сценария



    Рис. 4.4. Диалоговое окно Значения ячеек сценария



    Шаг 4



    В появившемся диалоговом окне Диспетчер сценариев (Scenario Manager) выбором в списке Сценарии (Scenarios) соответствующего сценария и нажатием на кнопку Вывести (Show) производится ввод соответствующих этому сценарию значений в изменяемые ячейки (рис. 4.5).Приведенное выше создание вручную сценариев программируется следующими инструкциями:

    ActiveSheet . Scenarios . Add Name := "Вариант 1", ChangingCells:=Range ("B3:B4") , Values:=Array("1000", "200") , Comment :="Автор: Андрей Гарнаев, 28.03.99", Locked:=True, Hidden:=False ActiveSheet. Scenarios. Add Name : ="Вариант 2", ChangingCells:=Range("B3:B4") , Values :=Array ("800", "300"), Comment :="Автор: Андрей Гарнаев, 28.03.99", Locked :=True, Hidden :=False Отображение сценариев на рабочем листе осуществляется следующими двумя инструкциями:

    ActiveSheet . Scenarios ( "Вариант 1" ) . Show ActiveSheet . Scenarios ( "Вариант 2 " ) . Show



    Рис. 4.5. Диалоговое окно Диспетчер сценариев после создания двух сценариев




    Содержание раздела