EXCEL VBA——數組,使用數組提升程序效率


        數組的存在價值就是讓代碼提速。

        數組和非數組的差異只在於數據的保存和讀取方式不同,雖然操作這些數據的方法或者函數並沒有不同,但是保存與讀取上的差異卻使VBA代碼在處理數據時實現了質的飛躍。在完成相同工作時,使用數組比非數組的效率有可能提升幾倍乃至幾十倍,數組對於VBA而言舉足輕重。

1、數組的定義:   

   數組就是連續可索引的具有相同內在數據類型的元素的集合,數組中的每一元素具有唯一索引號。簡單而言,數組就是一組相同類型的數據集合。

 

       數組支持一到六十維,不過常用的是一維數組和二維數組。

       通常可以借助區域來理解數組,因為數組存在於內存中,顯得虛無縹緲,而區域則比較形象化。

       事實上,數組和區域之間是相互依存的關系,工作中會經常將區域中的數據導出到數組中,當在數組中處理完畢后,又需要將數據從數組導出到區域中。

 

2、數組的特點:

       (1)包含多個元素

       (2)讀取速度快

                計算機在讀取數據時,軟盤 > 光盤 > U盤 > 硬盤 > 內存,從軟盤中讀取的速度最慢,最快的是內存。而讀取EXCEL工作表的單元格中的數據時相當於硬盤級速度,讀取數組中的數據則相當於內存級速度,所以數組的運算速度快於區域的運算速度。

         在使用數組時,通常將區域中的值讀取到內存中,然后再針對數組執行各種運算,運算完畢后再根據需求將結果寫入相應的區域或者單元格中。

        換言之,使用數組就是盡量減少讀取單元格的次數,替之以讀取內存,從而提高代碼執行效率。

       (3)不能常駐內存

        內存中的數據生命周期不長,不像工作表那樣可以長期保留數據。

        VBA中數組的載體其實是指數組變量或集合(Collection),它們都會在結束過程或者關閉工作簿后自動消失,所以數組僅用於臨時保存數據,在內存中處理數據后需要再將數據導出到區域中。數據無法長期駐留於數組中。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM