В VBA оператор Return
(который существует * ) служит совершенно другой цели; он используется в сочетании с устаревшим оператором GoSub
, чтобы возвратить из скачка подпроцедуры:
bar = 42
GoSub Foo
Exit Sub
Foo:
Debug.Print bar
Return
Этот тип конструкции присутствует в языке для поддержки более ранних версий / диалектов BASIC, и его не должно быть видно в современном коде VBA.
Функции и Property Get
процедуры возвращают возвращаемое значение , присваивая идентификатору процедуры:
getServer = "abc"
Обратите внимание, что идентификатор процедуры по сути является локальной переменной, и поэтому присваивание не возвращает . Используйте Exit Function
заявления, чтобы выручить.
Кроме того, {NEWLINE}
- это маркер конца инструкции в VBA, а не ;
точка с запятой; -)
Точка с запятой используется в VBA для управления поведением строковой печати, например Debug.Print
и Write#
операторов.
Sub test()
Debug.Print 1; 2; 3;
Debug.Print 4; 5; 6; ' prints on the same line as the previous statement
End Sub
Принимая во внимание, что это выведет на 2 отдельные строки:
Sub test()
Debug.Print 1; 2; 3
Debug.Print 4; 5; 6 ' prints on the next line
End Sub