Excel VBA 數組基礎知識,初學者不可不學的關鍵知識

2021-01-11 Excel教案

今天和大家要說的是VBA數組的基本知識點,等你學到後面就會知道,數組和字典搭配起來真的是事半功倍的啦!所以學習好數組的基本知識點也是必不可少的,基礎知識有了,才能有後面的應用。

數組的基本概念

數組其實是一組擁有相同元素的的組合。我們可以使用數組名稱和他在數組中的位置來指定某些特定的值。可以擁有很多的值,他們在數組內部是通過引索號進行區分的。其實數組是一個變量的存在,這個概念請好好理解。

聲明數組

我們既然已經初步知道數組了,但是我們知道如何去聲明數組嗎?其實很簡單,如下圖:

以上是我們定義數組的基本方法,當然這個是定義一維數組的方法。但我們如何聲明多維數組呢?如下圖:

上圖就是我們聲明3維數組的方法。

如果我們引用三維數組的某個值,應該怎麼引用?我們可以這樣引用arr(1,1,1)的值。

動態數組

顧名思義,動態數組,就是數組的大小是可以改變的。我們在上面聲明的都是固定大小的數組,但我我們有很多時候,並不知道我們需要使用的數組具體有多大,這個時候我們就要用動態數組了。如下就是我們聲明了一個動態的數組。

動態數組需要注意的一點是,我們需要在代碼中使用這個數組的時候,我們需要用在程序過程中用Redim語句去重新指定數組的大小。其實就是重新定義數組的大小,給他制定一個值。

當然定義動態數組,我們可以使用次數是沒有限制的,即我們可以多次定義動態數組,但是這個時候我們重新定義了,裡面原來儲存的數值就會丟失。如果我們不想原來的數丟失我們需要用Preserve進行數組保存。如下圖:

數組的創建

說了數組的聲明,接著說數組是如何創建的。我們先看看以下幾種數組創建的方法。

代碼寫入:我們可以看到數字已經存放在數組中了。

使用Array創建數組,直接使用常數數組,進行賦值操作。

直接賦值法,如下圖:直接單元格區域的值,賦值給數組

有時候我個人更喜歡直接賦值法得到的數組方式。至於你個人更喜歡哪種,還是要看你自己的,他們的效率其實是差不多的。

數組的上標和下標

我們都知道數組的大小,那麼肯定大家都想知道數組的大小,就是起始點和終點站的大小。請不要黃,我們有方法可以得到這個的大小,他就是我們的UBount和LBound函數。一起看看是如何實現 的吧!

要想知道數組arr的上界是多少,UBound(arr)要想知道數組arr的下界是多少,LBound(arr)

是不是發現其實獲得數組的大小其實非常的容易?

那我們如果想知道某一個動態數組的中的元素個數是多少?應該如何得到呢?

就是用我們的上標減去下標,然後加上1,就是我們數組中的元素個數。也即UBound(arr)- LBound(arr)+1。

寫在最後的兩點是我個人在學習過程中的心得:(1)一維數組寫入單元格區域時,這個單元格必須是水平方向的,也就是一個一行多列的單元格區域,如果想寫入垂直區域,必須使用工作表的Transpose函數轉換一下;  (2)和工作表的多單元格數組公式一樣,數組寫入單元格時,單元格的區域必須和數組的大小一致。

以上就是我們今天和大家說的代碼的中的數組,其實VBA代碼學習起來非常簡單,他就是一個腳本語言的存在,他有自己的條條框框,你按照他的遊戲規則來寫代碼就可以。如果有不明白的或者不懂的可以在下方留言,我們會一一解答的。

我是Excel教案,關注我持續分享更多的Excel技巧!

相關焦點

  • 如何將Excel數據表單元格保存為數組,VBA數組進階應用
    No.1在vba編程中,數組應用是一個十分有用的方法。如何把數據表作為數組進行處理,是編程過程中的一個重要技能。學會之後,將大大提高編程技術,也將使數據處理的過程變得更加流暢。No.2上圖為例,把表格內容作為數組值進行保存,然後通過流程編碼對成績進行一個比較判斷,最終得出一個成績等級的判定。
  • 入門|數據科學初學者必知的NumPy基礎知識
    本文介紹了一些 NumPy 基礎知識,適合數據科學初學者學習掌握。NumPy(Numerical Python)是 Python 中的一個線性代數庫。對數組執行數學運算和邏輯運算時,NumPy 是非常有用的。在用 Python 對 n 維數組和矩陣進行運算時,NumPy 提供了大量有用特徵。這篇教程介紹了數據科學初學者需要了解的 NumPy 基礎知識,包括如何創建 NumPy 數組、如何使用 NumPy 中的廣播機制、如何獲取值以及如何操作數組。
  • VBA中動態數組的創建及利用
    後疫情時代將會是一個全新的世界,很多理念都將被打破,大多數人不會再享受體制內的保護,對於我們每個人,要儘可能多的學習有用的知識,為自己充電。在今後更加嚴峻的存量殘殺世界中,為自己的生存進行知識的儲備,特別是新知識的儲備。為後疫情時代做的必要準備。今日繼續和大家分享VBA編程中常用的常用「積木」過程代碼。這些內容大多是我的經驗的記錄,來源於我多年的經驗。
  • Excel VBA函數篇-3.19大數據時代必備查找技能 萬條數據能奈我何
    當然不可能的啦,excel畢竟還是現在的主流辦公軟體,不管技術上面發展的多麼的高級,畢竟全民都是程式設計師的時代還是非常的遙遠的,並且你也不可能要求領導一定要去學習各種大數據處理知識吧,現在領導更多還是依賴於excel,數據也是集中展示在excel中的,那麼在大數據的衝擊下,excel能夠提升處理速度呢?
  • VBA代碼中數組的拆分與合併的實現
    後疫情時代將會是一個全新的世界,很多理念都將被打破,大多數人不會再享受體制內的保護,對於我們每個人,要儘可能多的學習有用的知識,為自己充電。在今後更加嚴峻的存量殘殺世界中,為自己的生存進行知識的儲備,特別是新知識的儲備。為後疫情時代做的必要準備。什麼是存量殘殺?簡單而言,在取代OFFICE新的辦公軟體沒有到來之前,誰能把應用做到最為先進,誰就是王者。其中登峰至極的技能非VBA莫屬!
  • VBA數組數據回填工作表
    第三節 VBA數組數據回填工作表在前兩節我們講了如何將工作表中的數據讀到數組中,這種操作的實質其實是:將數據預存到內存中,然後在內存中調取數據再進行下一步操作,這樣可以節約反覆提取數據的時間。當我們在內存中將數據計算完成後,需要將結果數組回填給工作表,又要注意哪些問題呢?對於工作表而言,可以回填的是數組可以是一維或二維的。
  • EXCEL知識:數組運算是什麼?
    下面我主要介紹一些我自己理解的數組運算。什麼是數組在Excel中,數組可以理解為多個單元格的集合。單行數據,單列數據(一維數組),多行多列數據(二維數組),都可以是一個數組。如下圖所示:上圖中數組1和數組2為一維數組,數組4和數組5為二維數組。
  • Excel中的高科技:數組公式之數組常量
    Excel中的高科技:數組公式之數組常量大家好,我是@愛玩電腦,不會IT高科技,只講電腦小知識。上次給大家講了辦公軟體Excel數組公式的一些基礎知識,見:Excel中的高科技:數組公式。今天接著給大家講講辦公軟體Excel中的數組公式相關的數組常量的基礎知識。好了,我們開始進入主題吧。演示的作業系統為Windows10,辦公軟體為Excel2007。一、創建數組常量在Excel中,數組並不是必須存儲在單元格中,也可以存儲在內存中。
  • Excel VBA Array數組Transpose方法給列單元格區域賦值
    需要Excel原始碼的網友請點擊關注和轉發,然後直接私信回覆:原始碼因為一維數組是以行來分配地址,如果把一維數組的值給單元格列賦值,則需要用Transpose方法進行行列轉換。#005 Range("A1:E10").Value = Application.Transpose(arr) '給A1:E10單元格區域賦數組值#006 Range("A1:E10").Select
  • Excel VBA如何定義數組,這裡有最全的數組定義方法
    No.1VBA中的數組定義和賦值,是編程進階的一個標誌。無論什麼編程語文,數組的應用是一個十分重要的項目。如何玩到熟練,就各有各的玩法。但是基礎的東西,一定要掌握牢固。這樣才在應用的過程中,不會迷茫。No.2首先看一下上面的圖片,是為對數組定義的一個集合。
  • Excel函數large、與數組在實際案例中的聯合運用
    圖一在之前的四篇文章當中,我們先後了解了數組的相關概念,數組之間的簡單加法、乘法運算,數組的乘積求和運算,一維水平數組和一維縱向數組之間的運算,單個數值與一維數組之間的運算,一維數組與二維數組之間的運算以及二維數組之間的運算
  • numpy庫學習總結(基礎知識)
    最近在學習Python中OpenCV庫,學習花了很多時間,發現基礎知識很重要,尤其是numpy這個庫,在進行程序開發時,處理大量類似數組這種數據結構時,它的重要性等同於Python中的列表,像前篇我們寫的《使用Python中OpenCV庫創建一幅圖片的RGB通道圖片》中,對於圖片的處理,大部分時間我們是在跟類似數組這種數據結構在打交道
  • 用excel製作文件管理器,所有版本皆可使用
    Hello,大家好,之前跟大家分享了使用excel中的power query功能製作一個文件管理器,但是很多分析反應自己的excel版本不夠高,無法使用,今天就跟大家分享如何使用宏表函數製作文件管理器,他也是可以實現文件刷新的,這個的操作也不難,下面就讓我們來看下他是如何設置的一、什麼是宏表函數以及FILES函數宏表函數是早期低版本excel的產物
  • 電路基礎知識- -絕對夠基礎~
    導讀:本文所講述的都是電路的基礎知識,包括電路的定義、構成、分類、作用,電路的基本概念及歐姆定律、基爾霍夫電流定律、基爾霍夫電壓定律等,是廣大電路初學者進步的階梯
  • 初學者,零基礎必備的18個Excel工作表函數,易學易懂易用
    對於Excel初學者,最希望掌握一定的應用技巧和函數公式,由簡入難,循序漸進……今天小編給大家分享10個Excel基礎函數公式,適合於初學者,零基礎讀者。一、Excel工作表基礎函數:Left、Mid、Right。Left函數功能:從一個文本字符串的第一個字符開始提取指定長度的字符。語法結構:=Left(字符串,長度)。
  • 電子元件基礎知識
    導讀:電子元件基礎知識有哪些呢,不僅包括電阻、電容等常用元件的區分,還包括一些電子常用術語喲,快來看看吧~~本文引用地址:http://www.eepw.com.cn/article
  • 電子元器件基礎知識
    本文就詳解電子元器件基礎知識,大神請飄過~~本文引用地址:http://www.eepw.com.cn/article/272107.htm  電阻,符號為R,單位為歐姆,是一種限流元件,表示導體對電流的阻礙作用的大小。可分為線繞電阻器、碳膜電阻器、保險電阻、敏感電阻器等等等等,其中敏感電阻器根據其敏感特性不同,又可分為壓敏電阻、光敏電阻、熱敏電阻等等。
  • 利用VBA代碼將文本轉換為數組函數
    後疫情時代將會是一個全新的世界,很多理念都將被打破,大多數人不會再享受體制內的保護,對於我們每個人,要儘可能多的學習有用的知識,為自己充電。在今後更加嚴峻的存量殘殺世界中,為自己的生存進行知識的儲備,特別是新知識的儲備。為後疫情時代做的必要準備。今日繼續和大家分享VBA編程中常用的常用「積木」過程代碼。這些內容大多是我的經驗的記錄,來源於我多年的經驗。
  • 掌握好基礎才是關鍵
    不知道從何下手,所謂萬變不離其宗,掌握好基礎才是關鍵。因為作為一名Java程式設計師有堅實的Java基礎知識對於後期的開發非常重要,那麼零基礎入門的Java初學者應該學習哪些內容呢?下面,千鋒武漢Java培訓小編給大家總結了入門學習Java的路線,希望能對你們有所幫助。
  • PHP判斷數組為空的具體方式
    PHP判斷數組為空的具體方式 我們可以通過for循環、implode()、count()、in_array('', $arr))、用strlen()等方式來進行PHP判斷數組為空的實現。