Задают переход к одной из нескольких указанных строк, в зависимости от значения выражения.
On выражение GoSub списокНазначений On выражение GoTo списокНазначений
Параметры
выражение
Обязательный. Любое числовое выражение, которое имеет целое значение от 0 до 255 включительно. Если выражение является нецелым числовым выражением, оно округляется до его оценки.
списокНазначений
Обязательный. Список номеров строк или меток строк, разделяемых запятыми.
Замечания
Значение аргумента выражение определяет, к какой строке из спискаНазначений выполняется переход. Если значение выражения меньше 1 или превышает число элементов списка, происходит одно из следующих событий:
В одном списке допускается совместное использование номеров и меток строк. Не существует практического ограничения на число меток и номеров строк, используемых с инструкциями On...GoSub... и On...GoTo. Однако при использовании большего число меток или номеров, чем может уместиться на одной строке, необходимо применять символ продолжения строки для распространения логической строки на несколько физических строк.
Инструкция Select Case обеспечивает более структурированный и гибкий способ выполнения множественных ветвлений.
Пример
В данном примере инструкции On...GoSub и On...GoTo используются для перехода к подпрограммам и строкам с указанными метками, соответственно.
Sub OnGosubGotoDemo() Dim Number, MyString Number = 2 ' Инициализирует переменную. ' Переход к Sub2. On Number GoSub Sub1, Sub2 ' Управление возвращается сюда после ' выполнения On...GoSub. On Number GoTo Line1, Line2 ' Переход к метке Line2. ' Управление не возвращается сюда после выполнения On...GoTo. Exit Sub Sub1: MyString = "Sub1" : Return Sub2: MyString = "Sub2" : Return Line1: MyString = "Метка Line1" Line2: MyString = "Метка Line2" End Sub