Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Оптимизация VBA-кода > Работа с циклами |
Автор: Old Bat 30.04.05, 16:26 |
Используйте цикл FOR … NEXT для обработки массивов Несмотря на то, что в данном случае Вам придется указывать верхнюю границу массива <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> For I = 0 to UBOUND(массив) '''''''''''''''''''''' Next этот код отработает значительно быстрее, чем если бы Вы использовали <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> FOR EACH X in… '''''''''''''''''''''' NEXT , извлекая элементы из массива с помощью VARIANT-переменной Цикл For…Next работает быстрее Do …Loop Если заранее известно число итераций, используйте цикл For…Next <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> For i=1 to n '''''''''''' Next В противном случае Вам придется увеличивать значение счетчика «вручную», что значительно увеличит время выполнения цикла: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> Do Until i>n i = i + 1 '''''''''''' Loop Используйте цикл FOR EACH X in… NEXT для обработки коллекции Использованы материалы: "From Access 2002 Desktop Developer's Handbook" Litwin, Getz, and Gunderloy. (Sybex, 2001) |