1
這裏是VBA的新手。我們可以在C/C++中將變量定義爲「Register」,用於非常頻繁訪問的變量,即前循環迭代器變量。在VBA中聲明變量註冊表?
在Visual Basic for Application中是否存在類似的系統?我正在使用EXCEL VBA進行編程,並從其他應用程序中提取數據。
我的算法的性質需要6級嵌套循環,所以想讓它們更快。他們已經運行了最後30分鐘:D
這裏是VBA的新手。我們可以在C/C++中將變量定義爲「Register」,用於非常頻繁訪問的變量,即前循環迭代器變量。在VBA中聲明變量註冊表?
在Visual Basic for Application中是否存在類似的系統?我正在使用EXCEL VBA進行編程,並從其他應用程序中提取數據。
我的算法的性質需要6級嵌套循環,所以想讓它們更快。他們已經運行了最後30分鐘:D
VBA中沒有寄存器類型。
你的問題可能與循環所做的事情有關,而不是變量類型聲明。
您是否嘗試過關閉屏幕更新,以節省資源:
Application.screenupdating=false ' at the start
' do the work
Application.screenupdating=true ' at the end
HTH 菲利普
當前的C/C++編譯器只是忽略了'register'關鍵字(他們做的比這反正一個更好的工作) 。並且AFAIU VBA是_interpreted_,所以這沒有多大意義。 – vonbrand 2013-03-05 20:02:25
我會看看循環在做什麼,而不是循環本身。 VBA被編譯爲字節碼(並且這可能在運行時發生),所以優化將通過減少循環體中完成的工作來獲得,而不是將變量添加到變量的速度有多快。 – SeanC 2013-03-05 20:15:50
我會使用不同的體系結構。 VBA並不是專爲繁重的工作和數據管理/維護工作而設計的。 – 2013-03-05 21:17:27