Введение в информатику. Хамухин А.А. - 92 стр.

UptoLike

Составители: 

91
=Multiply(50;100)
Обратите внимание, что при вызове функции из ячейки вместо переменных в
списке аргументов зачастую указывают адреса диапазонов. Функция воспринимает
адреса как обычные аргументы, вычисляя связанные с ними значения:
=Multiply(A1;B1)
Этот вызов возвращает произведение содержимого ячеек Excel А1 и В1.
Excel вызовет функцию Multiply только при изменении содержимого ячеек А1 и В1.
Чтобы изменить этот порядок и вызывать функцию при изменении любых ячеек
рабочего листа, добавьте следующую инструкцию в начало функции:
Function Multiply(ByVal Var1, ByVal Var2)
Application.Volatile True
Multiply = Var1 * Var2
End Function
Вызвав метод Volatile объекта Application, Вы «помечаете» функцию как
вычисляемую по правилам для встроенных функций Excel. Если метод Volatile не
вызван (или вызван без ключевого слова True), функция Multiply вызывается только
при изменении исходных данных (то есть содержимого ячеек А1 и В1).
3.9.3. Вызов одной подпрограммы из другой
В VBA допускается вызов одной программы из другой, что позволяет разбивать
код на логически обособленные фрагменты. Это дает два преимущества.
Если вам нужно несколько раз выполнить одну и ту же последовательность
действий, Вы вправе задать ее всего один раз, оформив в виде подпрограммы, а
затем по мере необходимости вызывать из других программ. При этом облегчается
и ее редактирование, поскольку все изменения Вы вносите только однажды.
Код VBA, разделенный на подпрограммы, обретает четкую логическую
структуру; его легче разрабатывать, отлаживать и обслуживать.
В следующем примере, в программе Рrо21, для вывода на экран сообщения о
вводе данных мы используем подпрограмму DisplayMessage.
Sub Pro21()
Dim R1 As Range
Set R1 = Worksheets(1).Range("A1")
R1.Value = 500
DisplayMessage
End Sub
Sub DisplayMessage()
MsgBox "Data has been entered"
End Sub