2013-03-05 2 views
1

여기 VBA의 새로운 기능. C/C++에서 매우 자주 액세스되는 가변적 인 ex-Loop 반복 변수에 대해 변수를 "등록"으로 결정할 수 있습니다.VBA에서 변수 레지스트리를 선언 하시겠습니까?

유사한 시스템이 Visual Basic for Application에 있습니까? 나는 EXCEL VBA에서 프로그래밍 중이며 다른 응용 프로그램에서 데이터를 가져오고있다.

내 알고리즘의 특성상 6 단계의 중첩 루프가 필요하므로 알고리즘을보다 빠르게 만들고 싶습니다. 그들은 지난 30 분 이후 이미 실행되었습니다. D

+2

현재 C/C++ 컴파일러 :

는 자원을 절약하기 위해 화면 업데이트를 해제 시도 되세요 . 그리고 AFAIU VBA는 해석되어서, 어쨌든 이것은별로 의미가 없습니다. – vonbrand

+4

루프 자체가 아니라 루프가 어떤 작업을하고 있는지 살펴볼 것입니다. VBA는 바이트 코드로 컴파일되며 (런타임시 발생할 수 있음) 루프의 본문에서 수행되는 작업을 줄이면 최적화가 수행됩니다. 변수에 1을 더할 수있는 속도가 더 빠릅니다. – SeanC

+0

다른 아키텍처를 사용합니다. . VBA는 과도한 양륙 및 데이터 관리/유지 관리 작업을 위해 실제로 설계되지 않았습니다. –

답변

0

VBA에는 등록 유형이 없습니다.

이 문제는 아마도 변수 유형 선언 대신 루프가 수행하는 것과 관련이 있습니다. 단지 (그들은 어쨌든보다 더 나은 일을)은`register` 키워드를 무시

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

HTH 필립