今天和大家要說的是VBA數(shù)組的應用,上篇文章我們說的是數(shù)組的基礎(chǔ)知識點,有不明白的小伙伴可以點擊鏈接進行知識點回顧,今天主要說說數(shù)組的幾個操作方法,這個是我們以后會經(jīng)常遇到的,也是經(jīng)常會使用的方法。上篇知識點連接:Excel VBA 數(shù)組基礎(chǔ)知識,初學者不可不學的關(guān)鍵知識數(shù)組的合并和字符串拆分(Join & Split)在Excel的數(shù)據(jù)處理時候,我們經(jīng)常會遇到拆分和合并的操作,可能你在Excel中的基礎(chǔ)操作都會,但是我們?nèi)绻僮鲾?shù)組呢?數(shù)組是在我們內(nèi)存之中的,我們無法再Excel中可以看到,除非是在本地窗口中可以看到。一起來看看例子:拆分字符串 split(字符串,'分隔符')用分隔連接數(shù)組的每個元成一個字符串 join(數(shù)組,'分隔符') 是不可以看到這2個函數(shù)的用法其實很簡單,他們的作用是相反的,一個是合并,一個拆分,天下分分合合,就在你和我之間。有么有喜歡上這對冤家?但是需要注意的一點是,他們都只能操作一維數(shù)組,這個是比較限制的。如果們在二維數(shù)組時候,想使用個方法,我們應該第一步轉(zhuǎn)化成一維數(shù)組,然后在操作即可。Filter實現(xiàn)數(shù)組篩選:其實數(shù)組的篩選就是根據(jù)我們指定的條件,從數(shù)組中篩選出來符合我們指定條件的值,然后在組成一個新的數(shù)組。這個操作你肯定不陌生,如下圖所示,我們在Excel中的常規(guī)操作: 但是今天我們豬腳是在數(shù)組中進行帥選,我們用的是Filter函數(shù),用法是:Filter(數(shù)組, 篩選的字符, 是否包含) 我們可能只說使用方法,其實你還是不太明白,我們舉一個例子,你看了就明白,如需他所示: Arr是我們利用常數(shù)數(shù)組進行賦值的數(shù)組,arr1是我們帥選包括字符”A”的新組成的一個數(shù)組,arr2,是我們帥選出來不包括“A”的新數(shù)組。不知道你發(fā)現(xiàn)沒有,我們在數(shù)組中使用這個函數(shù)的時候,只能模糊帥選,并不能精確進行帥選,這個請務必注意一點。取出數(shù)組中的最大值和最小值(Max和Min) 在Excel中我們?nèi)〕鲎畲笾岛妥钚≈?,我們都是用的MAX和MIN函數(shù),其實這2個在我們的數(shù)組中,亦可使用,具體使用方法如下所示: 順便再說一下,我們也可以取出數(shù)組的第幾大值和幾小值,如下: 這個方法在我們統(tǒng)計數(shù)據(jù)的時候,經(jīng)常會用到。數(shù)組求和在數(shù)組中,我們同樣可以求和,同樣也是借用工作表函數(shù)SUM來完成,我們一起看看: 是不是發(fā)現(xiàn),數(shù)組怎么這么好用?其實數(shù)組操作還不止這些,我們在繼續(xù)看看:數(shù)組的計數(shù)Count和CountaCount和Counta可以統(tǒng)計數(shù)組中數(shù)字的個數(shù)和數(shù)字+文本的個數(shù)。如下圖所示: Count和Counta在數(shù)組中和Excel中的使用方法是一樣的,是通用的。數(shù)組的查詢和拆分假如我們已經(jīng)有了一個數(shù)組,但是我們想查詢其中的某一個值,通過帥選只能模糊匹配,那我們有沒其他的方法呢?如下: 數(shù)組從二維拆分成一維,你是否還記得我們上篇文章說的?我們可以借用工作表函數(shù)index達到按列拆分數(shù)組,即多列構(gòu)成的數(shù)組,你可以任意拆分出一列構(gòu)成新的數(shù)組。方法是:Application.Index(數(shù)組, , 列數(shù)) : 數(shù)組拆分其實在VBA中間很難操作,有時候我們是借用API函數(shù),或者說這個函數(shù)有多少人知道呢?所以我們一般記下index函數(shù)拆分數(shù)組即可:數(shù)組維數(shù)的轉(zhuǎn)換今天說的最后一個,數(shù)組的維數(shù)的轉(zhuǎn)變。這個也可借用工作表函數(shù)來完成這個,我們一起來看看吧 ! 在轉(zhuǎn)置時只有1列N行的數(shù)組才能直接轉(zhuǎn)置成一維數(shù)組,這個請注意一下,否則會報錯的。其實我們很多的工作表函數(shù)都可以在我們的Excel中進行使用,我們可以自行嘗試一下,看看實際的效果。以上就是我們今天和大家說的代碼的中的數(shù)組常用技巧,其實VBA代碼學習起來非常簡單,他就是一個腳本語言的存在,他有自己的條條框框,你按照他的游戲規(guī)則來寫代碼就可以。
|
|
來自: flyk0tcfb46p9f > 《辦公》