2013-03-05 5 views
1

Новое для VBA здесь. Мы можем декорировать переменную как «Register» в C/C++ для очень-очень часто используемой переменной ex-Loop итератора.Объявить переменную реестра в VBA?

Существует ли аналогичная система в Visual Basic для приложения. Я программирую в EXCEL VBA и вытягиваю данные из некоторых других приложений.

Природа моего алгоритма требует 6 уровней вложенных циклов, поэтому хотелось бы сделать их быстрее. Они уже запущены с последних 30 минут: D

+2

Текущий C/C++ просто игнорируют 'register' ключевое слово (они делают работу лучше, чем это в любом случае) , И AFAIU VBA _interpreted_, так что это не имеет никакого смысла в любом случае. – vonbrand

+4

Я бы посмотрел, что работает цикл, а не сам цикл. VBA скомпилирован в байт-код (и это может произойти во время выполнения), поэтому оптимизация должна быть получена за счет сокращения работы, выполняемой в теле цикла, а не от того, насколько быстро она может добавить 1 к переменной – SeanC

+0

. Я бы использовал другую архитектуру , VBA не предназначен для тяжелых задач по подъему и управлению данными/обслуживанию. –

ответ

0

В VBA нет регистрационного типа.

Ваша проблема, вероятно, связана с тем, что делают циклы, а не с объявлениями типа переменной.

Вы пробовали выключив Обновление экрана для экономии ресурсов:

Application.screenupdating=false ' at the start 
' do the work 
Application.screenupdating=true ' at the end 

НТН компиляторы Филипп

Смежные вопросы