Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Вызов одной программы из другойСодержание книги
Поиск на нашем сайте В VBA допускается вызов одной программы из другой, что позволяет разделять код на логически обособленные фрагменты. Эта возможность имеет два «плюса». § Если Вам нужно несколько раз выполнить одну и ту же последовательность действий, Вы вправе задать её всего один раз, оформив в виде подпрограммы, а затем по мере необходимости вызывать из других программ. При этом облегчается и её редактирование, поскольку все изменения Вы вносите только однажды. § Код VBA, разделенный на подпрограммы, обретает четкую логическую структуру; его легче разрабатывать, отлаживать и обслуживать. Фрагментируя код, обязательно руководствуйтесь правилами логики. Одна подпрограмма должна отвечать за выполнение одной операции. Не увлекайтесь: чрезмерное дробление кода приведет к тому, что у Вас будет отдельная подпрограмма для каждой инструкции. Решение вопроса, выделять или не выделять действие в подпрограмму, зависит в основном от Ваших желаний и опыта. В следующем примере, в программе ВызовПодпрограммы, для вывода на экран сообщения о вводе данных мы используем подпрограмму DisplayMessage. Sub ВызовПодпрограммы() Dim Range1 As Range Set Range1 = Worksheets(1).Range("A1") Range1.Value = 500 DisplayMessage End Sub
Sub DisplayMessage() MsgBox "Данные введены." End Sub ВызовПодпрограммы вводит данные в ячейку A1 первого рабочего листа и вызывает в строке 5 подпрограмму DisplayMessage, которая выводит на экран сообщение и возвращает управление ВызовПодпрограммы.
Замечание: В действительности подпрограммы, подобные DisplayMessage, не имеют практического смысла. С тем же успехом вызов функции MsgBox можно вставить и в саму DisplayMessage. Другое дело, если сообщение о вводе данных должно касаться нескольких программ. В этом случае подпрограмма DisplayMessage окажется полезной хотя бы для того, чтобы все программы использовали в сообщении один и тот же текст. Кроме того, выделение сообщения в отдельную программу облегчает его редактирование, так как изменения придется вносить в одно место. Передача данных при вызове программы Вызывая подпрограмму, Вы вправе передать в нее переменные или значения. Эта возможность еще более расширяет область применения подпрограмм, позволяя выполнять одни и те же действия с различными исходными данными. Рассмотрим в качестве примера подпрограмму DisplayMessage. Сейчас она выводит сообщение Данные введены. Предположим, что кроме этого мы хотим знать, какое именно значение было введено, например Было введено число 500. Проще его передать в подпрограмму DisplayMessage аргумент (это можно сделать двумя способами; см. следующий раздел). Как это сделать, показано в следующем примере. Sub ПередачаАргумента() Dim Range1 As Range Set Rangel = Worksheets(1).Range("A1") Range1.Value = 500 DisplayMessage2 Rangel.Value End Sub Sub DisplayMessage2(Value1) MsgBox "Было введено число " & Value1 End Sub Здесь есть два интересных момента. Во-первых, обращение к подпрограмме DisplayMessage2 в ПередачаАргумента содержит аргумент Range1. Value. Во-вторых, в первой строке DisplayMessage2 в круглых скобках задано имя переменной Value1. Она принимает значение аргумента, указанного в вызове подпрограммы DisplayMessage2, и затем используется для вывода соответствующего значения в информационном окне.
|
||
|
Последнее изменение этой страницы: 2021-12-15; просмотров: 99; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.236 (0.007 с.) |