VBA Excel
241 subscribers
88 photos
23 links
VBA Excel для начинающих. Справка по VBA Excel. Visual Basic for Applications. Справочник. Самоучитель.
Download Telegram
📈 Значение параметра функции по умолчанию

С помощью оператора Optional можно не только объявить параметр функции как необязательный, но и присвоить ему значение по умолчанию.

📌 Пример 1
Function SquareNumbers(Optional d As Double = 1.2) As Double
SquareNumbers = d * d
End Function


💡 Примечания
🔹 В этой функции, в отличии от функции ниже, можно указать для параметра d тип данных Double (и другие типы данных при необходимости).
🔹 Некоторые версии VBA не поддерживают значения по умолчанию для параметров с Optional, тогда нужно использовать другой подход, как во втором примере.

📌 Пример 2
Function SquareNumbers(Optional d)
If IsMissing(d) Then d = 1.2
SquareNumbers = d * d
End Function


💡 Примечание
🔹 Функция IsMissing возвращает True, если опциональный (необязательный) параметр типа Variant не передан при вызове. Поэтому во втором примере оставлено значение типа данных параметра d по умолчанию (Variant).

#VBA #ExcelVBA #Optional #Функция #Параметр #Значение
👍51
Необязательные параметры в VBA Excel

Оказывается, для необязательных параметров процедур в VBA и VB есть определенные правила, сформулированные разработчиками:

1️⃣ Для каждого необязательного параметра в определении процедуры необходимо указать значение по умолчанию.
2️⃣ Значение по умолчанию для необязательного параметра должно быть константой или выражением константы.
3️⃣ В определении процедуры сначала указываются обязательные параметры, а затем — необязательные. Параметр, следующий за необязательным параметром, должен быть необязательным.

Пример указания необязательных параметров:
Sub Primer(Parametr1, Parametr2, Optional Parametr3, Optional Parametr4)
' Код процедуры
End Sub


Для тех, кто только что присоединился к нашему каналу, продублирую примеры указания значений по умолчанию для необязательного параметра функции, вычисляющей площадь квадрата.

🔹 Указание значения по умолчанию в определении функции:
Function SquareNumbers(Optional d = 1.2)
SquareNumbers = d * d
End Function


🔹 Указание значения по умолчанию с помощью функции IsMissing:
Function SquareNumbers(Optional d)
If IsMissing(d) Then d = 1.2
SquareNumbers = d * d
End Function

Функция IsMissing работает только с типом данных Variant.

#VBA #ExcelVBA #Optional #IsMissing #Параметры #Необязательные
👍6🔥1