Программирование в среде Visual Basic for Applications (1082430), страница 12
Текст из файла (страница 12)
По умолчанию созданная кнопка и соответствующая ей процедура имеют имя Сопппап()Впноп1. Назначьте кнопке процедуру Сопппап()Вп1- 1оп1 С!1скО: ° выделите созданную кнопку, щелкнув в Режиме конструктора по созданной кнопке левой кнопкой мыши; ° щелкните правой кнопкой мыши по созданной кнопке и выберите в контекстном меню пункт Исходный текст; при этом откроется окно редактора ЧВА; ° введите текст следующей процедуры (при этом первая и последняя строки выводятся автоматически): РгЫаее БиЬ Сспапапдвпсеоп1 С11сх() БЬеесе("Май") .Бе1есс Епа БиЬ !2. Создание автоматизированного огнавленин рабочей книги 91 Кроме того, щелкнув по созданной кнопке правой кнопкой мыши, откройте окно свойств и установите свойству Сар0оп значение Май. При этом на кнопке изменится надпись Сопзп)ап(1Впттоп1 на надпись Май.
Рис. 12.!. Примеры автоматизированных оглавлений По умолчанию создаваемые кнопки имеют имена Сопппап(1- Впйоп1(Кнопка1), Сопппап(1Впйоп21Кнопка2) и Сопппап(1Вп1- $опЗ(КнопкаЗ), которые выводятся в поле имен и на поверхности кнопок. Изменяя свойство Сарйоп, можно установить необходимую надпись на кнопке. Эта операция не изменяет имени кнопки (имя будет прежним — Сопппап(1Впт1оп (Кнопка), и именно оно будет выводиться в поле имен Ма)пе в окне свойств). Создайте кнопки Июнь и Июль и назначьте им следующие процедуры: Вл1иапе БпЬ Ссююапс)впгпсп2 С11св() БЬеегз("Июнь" ) .Яе1есг Епс) БпЬ Рльиасе ЯпЬ ссаааапс)впссопэ с11с)с() ЯпееЬз (" Июль" ) .Яе1есС Епс) ЯпЬ Назначьте свойствам Сар1юп этих кнопок значения Июнь и Июль соответственно. 92 Программирование в среде )г/аиа/ Вав/с/огАррйсаиалв В этих процедурах использовался метод Асйтате. Это метод активизирует объект, в данном случае рабочий лист.
Теперь, например, кнопке Май назначена процедура, активизирующая рабочий лист с именем Май, т. е. нажатие этой кнопки будет приводить к переходу на лист с именем Май. При необходимости можно изменить названия и самих процедур на Май, Июнь и Июль. 12.2. Процедура перелистывания рабочих листов с помощью раскрывающегося списка Разработаем процедуру перелистывания рабочих листов с помощью раскрывающегося списка.
На рабочем листе Вспомогательный в ячейки А1, А2 и АЗ введите: Май Июнь Июль С помощью команды Вставка/Имя/Присвоить присвойте диапазону А1:АЗ имя Список, ячейке Аб — имя Номер, а ячейке А7 — имя Лист (рис. 12.2). Рнс. 12.2. Данные на рабочем листе «Вспомогательный» В ячейку А7 введите формулу = ИНДЕКС (Список;Номер/1) В общем случае синтаксис функции ИНДЕКС (1ХПЕХ) имеет следующий вид: ИНДЕКС 1массив; номер строки; номер столбца) 12. Создание автоматизированного оглавления рабочей книги 93 Функция ИНДЕКС возвращает значение ячейки диапазона массив с заданными номерами строки и столбца.
Таким образом, при введении в ячейку Номер целого числа от 1 до 3 функция ИНДЕКС будет возвращать в ячейку Лист содержимое соответствующей ячейки диапазона Список. Например, если в ячейку Номер ввести число 3, то в ячейке Лист будем иметь Июль (см. рис. 12.2).
С помощью кнопки Раскрывающийся список создайте раскрывающийся список на ячейках Рб и Еб рабочего листа Оглавление (см. рис. 12.1). Назначьте этому списку процедуру СошЬоВох1 С11скО: ° выделите созданный список, щелкнув в Режиме конструктора по созданному списку левой кнопкой мыши; ° щелкните правой кнопкой мыши по созданному списку и выберите в контекстном меню пункт Исходный текст; при этом откроется окно редактора ЧВА; ° введите текст следующей процедуры (при этом первая и последняя строки выводятся автоматически): Гкьиаее ЗпЬ СовЬонох1 Спапде() Ьгв я Ля Яек1пп я = СовЬовохт.ча1пе Иок)кяпееея(я).хсе1иаее впд ЯпЬ Кроме того, щелкнув список правой кнопкой мыши по созданному раскрывающемуся списку, выберите в раскрывшемся контекстном меню пункт Свойства.
В открывшемся окне свойств списка установите значения свойств; в поле свойства 1.1я1ИВКапяе введите Список, в поле Ь|я1Котвя (Количество строк списка) установите значение 3 (рис. 12.3). Теперь раскрывающийся список будет выводить значения, записанные в диапазон Список, а номер выбранного элемента из этого списка — в ячейку Номер. Таким образом, будет обеспечиваться переход на страницу с именем, выбранным в раскрывающемся списке. 94 Программирование в среде Мима! Валс~ос Аррйсаиопв )ааааа и ~ р ))~.
аайл Правка ана Вотйвка поймат отлаака дапяок Серано дкно 3 яргпввмога ярпелтот По алфавиту По категориии Рис. 12.3. Окно свойств для счетчика 12.3. Процедура перелистывания рабочих листов с помощью списка С помощью кнопки Список создайте список на ячейках Р10)Е12 рабочего листа Оглавление (рис. 12.1). Назначьте этому списку процедуру Ь|ясВох1 СйсЦ): ° выделите созданный список, щелкнув в Режиме конструк- тора по созданному списку левой кнопкой мыши; ° щелкните правой кнопкой мыши по созданному списку и выберите в контекстном меню пункт Исходный текст; при этом откроется окно редактора УВА; ° введите текст следующей процедуры (при этом первая и последняя строки выводятся автоматически): Ргтиапе Ян)о Рьягвох1 С11си() Рты я Ая Яог1пд Хогхяиееоя(иВспомогательныйи).Асоьиаге Аст 1иеяаеет.Ванде)иномери).яе1есС 12. Создание автоматизированного оглавления рабочей книги 95 ХспьнеСе11.гсгип1аа1С1 Ьйяввсх1.Ьтвп1пс)ех + 1 нсгкяЬееся ("Вспомогательный") .
Лсстнасе Хсгтнезпеег.каппе("Лист" ).Яе1есг я = Хсптнесе11.Ча1пе жсгхвЬеесв(я).)(сстнасе Епс) ЯпЬ Кроме того, щелкнув список правой кнопкой мыши по созданному списку, выберите в раскрывшемся контекстном меню пункт Свойства. В открывшемся окне свойств списка установите значения свойств: в поле свойства Ь1я1ИПКапйе введите Список, в поле МпИБе!ес1 (Переключатель) установите положение г"шМп11ьэе!есьэ1пй!е 1Только одно значение). Теперь список ЬЫВох1 выведет значения, записанные в диапазон Список, а номер выбранного элемента из этого списка— в ячейку Номер. Таким образом, данная конструкция будет обеспечивать переход на страницу с именем, выбранным в списке. 12.4.
Процедура перелистывания рабочих листов с помощью счетчика Присвойте ячейке Сб рабочего листа Вспомогательный имя Первый лист. Войдите в Режим конструктора, щелкнув по соответствующей кнопке в Панели элементов. С помощью кнопки Кнопка создайте на диапазоне 14:16 рабочего листа Оглавление кнопку (по умолчанию кнопка и соответствующая ей процедура называются Сопппап(1Впмоп4), установите свойство Салоп этой кнопки равным ОК. В результате на поверхности кнопки появится надпись ОК 1см. рис.
12.1). С помощью кнопки Счетчик создайте счетчик на диапазоне С4:Сб 1см. рис. 12.1). Ячейке Н5 рабочего листа Оглавление присвойте имя Первый и введите в нее формулу =ИНДЕКС (Список; Первый пист;1) Назначьте кнопке ОК процедуру: выделите созданную кнопку; щелкните правой кнопкой мыши на ней и выберите в контекстном меню пункт Исходный текст для открытия среды ЧВА. На листе модуля введите следующую процедуру (при этом 1-я и 3-я строка выводятся автоматически).
96 Программирование в среде Рина) Вав(с~ос Арр)(сапонв Рс1иаве ЯпЬ Сопввапс)лпввоп4 С11сх() Рхй я Хя яссхпл я = Напде("Первый" ).Чв1пе ЯЬеевя(я).хсСьиаве Епс) ЯпЬ Щелкните левой кнопкой мыши в Режиме конструктора по созданному счетчику, щелкните правой кнопкой и выберите пункт Свойства. Установите следующие значения свойств для кнопки Счетчик: в поле Уа)пе (Начальное значение) введите 2, в поле М1п (Минимальное значение) — 1, в поле Мах (Максимальное значение) — 3, в поле 51ер Уа!пе (Шаг изменения) — 1 и в поле 1Лпке(1СеП (Связанная ячейка) — Первый лист (см. рис.
12.3). Процедура для счетчика имеет вид: Рсьиеве ЯпЬ Яр1пвппвоп1 СЬеппе() Епд ЯпЬ Таким образом, счетчик будет изменять значения ячейки Первый лист в диапазоне от 1 до 3, функция ИНДЕКС вЂ” выводить соответствующее значение диапазона Список в ячейку Первый, а процедура Сопппап()Вптгоп4 С11скΠ— по щелчку на кнопке ОК осуществлять переход на лист с именем, введенным в ячейку Первый.
12.5. Процедура перелистывания листов рабочей книги с помощью полосы прокрутки Присвойте ячейке С7 рабочего листа Вспомогательный имя Второй лист. С помощью кнопки Кнопка создайте на ячейках С15:Н15 рабочего листа Оглавление кнопку, назначьте ее свойству Сарйоп значение Перейти на лист (для отображения окна свойств нажмите кнопку Р4). При этом на кнопке появится надпись Перейти на лист. С помощью кнопки Полоса прокрутки создайте полосу прокрутки на ячейках С11:Н11 (см.
рис. 12.1). Ячейке С13 рабочего листа Оглавление присвойте имя Второй и введите в нее формулу =ИНДЕКС(Список;Второй вист;1) Назначьте созданной кнопке процедуру: выделите созданную кнопку; щелкните правой кнопкой мыши на ней и выберите 12. Создание автоматизированного оглавление рабочей книги 97 в контекстном меню пункт Исходный текст для открытия среды ЧВА. На листе модуля введите следующую процедуру (при этом 1-я и 3-я строка выводятся автоматически, по умолчанию процедура называется Сопипап(1Вп11оп5 Сйс1с).
Рк1иаое ЯоЬ Сокорапс)впоооп5 С11сК() П1ы я Ая Яок1пл я = Капяе(епервыйн).)(а1пе ЯЬееоя(в).Асотчаое Епд ЯоЬ Щелкните левой кнопкой мыши в Режиме конструктора по созданной полосе прокрутки, щелкните правой кнопкой и выберите пункт Свойства. Установите следующие значения свойств для кнопки Полоса прокрутки: в поле Начальное значение (Ча)пе) введите 2, в поле Минимальное значение (М1п) — 1, в поле Максимальное значение (Мах) — 3, в поле Шаг изменения 1В1ер Ча1пе) — 1 и в поле Связанная ячейка (?.1пке(1Сей) — Второй лист (рис.
12.4). Процедура для счетчика имеет вид: Ркьчаое ЯпЬ Яско11Вак1 СЬапде() Епс) ЯоЬ н и)) й1 а) ~ о,й)( наро Правка анк Вс река Еерарн Ок» кка д рс« Серена ак о З ВРзнрнасоеа яр сасне П фае р (По «азогорка', Рис. ) 2.4. Окно свойств лля полосы прокрутки 98 Программирование в среде )гана! Вав(е )от Аррбеалопв При перемещении бегунка по полосе прокрутки значение в ячейке С13, расположенной под ней, будет изменяться от значения Май до значения Июль. Нажатие на кнопку Перейти па лист будет приводить к вычислению имени соответствующего листа, появлению его имени в ячейке С13 и его активизации. 12.6.