Microsoft Excel/Visual Basic for Applications в Excel/Процедуры и функции

Материал из Викиучебника — открытых книг для открытого мира
Перейти к навигации Перейти к поиску

Описание процедур и функций[править]

В программах на языке Visual Basic часто используются функции и процедуры.

Описание функций начинается с заголовка Function, за которым следует имя процедуры и список параметров, а заканчивается процедура оператором End Function. Для возврата значения из функции блок описания действий функции должен содержать оператор присваивания, в котором имени функции присваивается значение.

Тип параметров и тип самой функции необходимо описать.

Пример (функция возведения числа в третью степень — куб):

Function Cube(var As Double)
  Cube = var * var * var
End Function

Описание процедур начинается с заголовка Sub, за которым следует имя процедуры и список параметров, а заканчивается процедура оператором End Sub.

Даже если процедура или функция не имеет параметров, то всё равно после имени процедуры или функции должны стоять скобки (см. пример в предыдущей главе).

Пример процедуры, возвращающей завтрашнюю дату:

Sub Tomorrow()
  Dim D As Date
  D = Date + 1
  MsgBox ("Завтрашняя дата: " & D)
End Sub

В Visual Basic есть возможность вызывать одну функцию (или процедуру) из другой. При этом, в отличие от Pascal, не имеет значения, описана вызываемая процедура или функция раньше или позже процедуры, вызвавшей её.

Вызов функций и процедур и передача параметров[править]


Stub W.svg
Это незавершённый раздел учебника.
Вы можете помочь проекту, исправив и дополнив его.
Пример вызова функции Cube()[править]

В первом примере вызова функции Cube() число фиксированное и задается оператором присваивания
n = 2

Public Sub ExFCube() ' Пример вызова функции Cube()

Dim n As Double

n = 2

m = Cube(n)

MsgBox "Куб числа " & n & " равен " & m

End Sub

Во втором примере вызова функции Cube() число задается с помощью оператора InputBox, который позволяет при каждом выполнении процедуры задавать новое число

Public Sub ExFCube2() ' Пример2 вызова функции Cube()

Dim n As Double

n = InputBox("Введите число n")

m = Cube(n)

MsgBox "Куб числа " & n & " равен " & m

End Sub

Пример 3 вызова функции Cube()

Вызвать функцию можно на любом листе книги.

Для этого, например, можно ввести в ячейку A1 число 4, а в ячейку B1 – формулу:

<big>=Cube(A1).<br>

Или можно воспользоваться мастером функций (fx), выбрав категорию Определенные пользователем.
В открывшемся окне функции надо задать ее параметр (в данном случае параметром является число, куб которого будет вычислен) .