Поделиться через


Целевая метка слишком далеко; слишком большой цикл, блок Select Case или блок If

Процедуры могут иметь размер 64K от начала до конца, но поскольку ветвление может происходить либо вперед, либо назад в рамках процедуры, такое ветвление ограничено 32 767 байтами в любом направлении. Эта ошибка имеет следующие причины и способы решения:

  • Имеется оператор ветвления (GoTo, GoSub), конечная метка которого находится от исходного оператора ветвления дальше, чем 32 767 байт. Переместите метку ближе или сделайте процедуру меньше.

  • Имеется очень большая структура цикла, которая от начала до конца занимает более 32K памяти. Сделайте цикл меньше.

  • Имеется очень большая структура блока If, которая содержит предложение Then или Else, занимающее от начала до конца больше 32K памяти. Уменьшите размер проблемной части структуры.

Для получения дополнительной информации выберите необходимый элемент и нажмите клавишу F1 (для Windows) или HELP (для Macintosh).

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.