У меня есть подпрограмма с необязательным аргументом рабочей книги. Я хочу, чтобы If
проверил, была ли передана эта переменная, и, если нет, установите переменную на активный лист.
Sub SaveWorkbook(NewPathName As String, Optional Workbook As Workbook)
'This is very simplified, the real thing has various other parameters
If IsNull(Workbook) Then Set Workbook = ActiveWorkbook
'Then loads more stuff
End Sub
Вещи, которые я пробовал, включают:
IsNull(Workbook)
IsEmpty(Workbook)
Workbook = Nothing
Ничего не вызывает оператор If, поэтому код пытается продолжить с Workbook
, установленным в значение Empty, и затем обнаруживает ошибки.