|
||||||||
|
Выход из циклов и процедурОбычно процедуры и циклы в макросах выполняются от начала и до конца. Но бывают ситуации, когда досрочный выход из процедуры или цикла ускоряет работу за счет отказа от ненужных повторений. Например, осуществляя поиск в массиве в цикле Хотя операторы Exit очень удобны, используйте их только при крайней необходимости, а не при нормальном ходе выполнения процедуры или цикла. Злоупотребление операторами Exit затруднит чтение и отладку Вашего кода.Кроме того, для пропуска части кода можно придумать и более подходящие способы. Например, при поиске значения в массиве внутрь цикла For...Next вместо оператора Exit можно поставить оператор Do...Loop, чтобы поиск шел только до тех пор, пока текущее значение индекса меньше верхней границы массива и значение переменной типа Boolean равно False (см. пример ниже). Когда искомое значение найдено, переменная типа Boolean устанавливается как True, и цикл прекращается.i = LBound(searchArray) Для досрочного выхода из оператора Do...Loop используется оператор Exit loop, а для досрочного выхода из цикла For - оператор Exit For:For Each с In rangeToSearch End If Next Для досрочного выхода из процедур служат операторы Exit Sub и Exit Function:For Each c In rangeToSearch Exit Function ' прекращаем проверку и немедленно выходим End If Next с
Текст пособия подготовлен на основе материалов книги Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл. c Оригинальное издание на английском языке, Microsoft Corporation, 1997 c Русский перевод, Microsoft Corporation, 1997 |