乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      胡說(shuō)VBA:大話“集合”

       建發(fā)圖書(shū) 2016-06-21

      我們知道vba 是通過(guò)對(duì)象的概念來(lái)操控Excel 的單元格,工作表,工作簿直至excel 程序自身的。

      有時(shí)候我們需要同時(shí)操作判斷多個(gè)單元格,操控多個(gè)工作表,在多個(gè)excel文件間進(jìn)行數(shù)據(jù)通訊與傳遞,我們就需要一個(gè)工具作為一個(gè)容器將相同的對(duì)象裝載在一起以供使用和標(biāo)識(shí),集合的概念就應(yīng)運(yùn)而生了。


       一、集合就是一個(gè)籃子 


      胡說(shuō)VBA的看法:集合就是一個(gè)大籃子,負(fù)責(zé)裝載同類型的對(duì)象。

      設(shè)想如下場(chǎng)景:我們拎個(gè)籃子去菜市場(chǎng)買菜,黃瓜來(lái)幾條,西紅柿買幾斤,茄子也來(lái)幾個(gè),甚至還買了幾條魚(yú)。

      這些東西裝在一個(gè)籃子里,這個(gè)籃子是集合嘛?

      明顯不是的,黃瓜,西紅柿,茄子,魚(yú)等不是相同類型的對(duì)象,不符合集合的定義。

      裝滿各式蔬菜的籃子不是集合:


      如果我們拎個(gè)籃子去買饅頭,或者我們拎N個(gè)籃子去買菜(胡說(shuō)老師腦子進(jìn)水類型)我每個(gè)籃子只放相同的對(duì)象,比如只放饅頭,只放蘿卜,只放韭菜,不同蔬菜放進(jìn)不同的籃子,那么每個(gè)籃子就都是不同對(duì)象的集合。 


      二、集合的命名規(guī)則


      微軟習(xí)慣用裝載的對(duì)象類型加上s 作為集合的定義名稱。

      我們用excel就是捧微軟的碗,人家的規(guī)矩咱就得擔(dān)著。

      比如所有單元格的集合就是cells,工作表的集合worksheets,工作簿的集合workbooks。

      好吧,我們拎個(gè)籃子去買饅頭,我定義這個(gè)集合就叫饅頭s,可以吧,因?yàn)榛@子里面要裝饅頭嘛。

      小時(shí)候我們學(xué)過(guò)達(dá)芬奇畫(huà)雞蛋的課文,其中達(dá)芬奇的老師說(shuō),請(qǐng)注意世界上絕對(duì)不存在兩個(gè)完全一樣的雞蛋。同理我們買了一堆饅頭裝在叫饅頭s的籃子里,我們要分辨每一個(gè)饅頭并加以操作,比如拿出來(lái)吃掉,炸饅頭片等等,怎么來(lái)辨識(shí)呢?


      這里要指出集合的通用的辨識(shí)集合內(nèi)元素的方法:

      index 與Item 方法

      請(qǐng)注意這是通用的哦,可不只是饅頭籃子可以這么用,蘿卜籃子,WorkBooks  也一樣如此。

      Index 方法指的是按一定順序來(lái)標(biāo)識(shí)。

      比如我們強(qiáng)行規(guī)定(注意這個(gè)規(guī)定是隨便定的)籃子里的饅頭從上向下進(jìn)行編號(hào)。第1個(gè)饅頭到第開(kāi)始n 個(gè),也可能是從第0 個(gè)開(kāi)始(這和當(dāng)初集合的定義有關(guān))。

      例如:饅頭s(1) ------- 就是籃子里按照某種順序的第一個(gè)饅頭,由1—n 我們就可以把籃子里的所有饅頭都找到一遍。

      但是有時(shí)候我們是想拿出有特性的饅頭,比如說(shuō)我要拿一個(gè)白而且圓的饅頭出來(lái),根據(jù)達(dá)芬奇雞蛋原理我們知道每一個(gè)饅頭都是不同的,那么我要拿出這個(gè)叫“白又圓”的饅頭出來(lái),可能我并不知道它在集合的什么位置,也不知道它是編號(hào)的幾號(hào),怎么找呢?


      集合的 items每個(gè)饅頭都有自己的特性,據(jù)此起名,白又圓的,黑點(diǎn)的,尖一些的,大點(diǎn)的饅頭,小點(diǎn)的。我們可以據(jù)此特性直接訪問(wèn)到對(duì)象,饅頭s(“白又圓”),就找到了這個(gè)饅頭。

      我們可以根據(jù)上面的描述自行試驗(yàn)一下比如Worksheets(1)或者Worksheets(“sheet1”)這兩種不同的方式來(lái)訪問(wèn)工作表。


      集合的Count屬性


      集合的Count 屬性,返回集合中的元素個(gè)數(shù)。

      饅頭s.Count 自然是返回籃子里有幾個(gè)饅頭,而Worksheets.count 則返回的是當(dāng)前工作簿當(dāng)中有幾個(gè)工作表,Workbooks.Count 返回當(dāng)前系統(tǒng)打開(kāi)了幾個(gè)工作簿文件。

       

      一直有學(xué)生問(wèn)胡說(shuō)老師,為神馬集合的Count 是屬性而不是方法呢?難道你數(shù)籃子里的饅頭有幾個(gè)是沒(méi)有動(dòng)作的嘛?這里集合的思路主體是籃子,而不是我們這些人。不管你數(shù)與不數(shù),籃子里的饅頭個(gè)數(shù)在這一瞬間已經(jīng)確定了的,籃子就是知道。

      就像倉(cāng)央嘉措說(shuō)的:

               你見(jiàn)或者不見(jiàn)我,

                我就在那里,

                不悲不喜             

                你念或者不念我,

                 情就在那里,

                 不來(lái)不去。

                 你數(shù)或者不數(shù)我,

                  Count 就在那里

                  不增不減

      這不就是面向?qū)ο蟮木幊讨绬帷?/p>

       

      好,我們?cè)谶@里把所有的集合的通用的屬性方法和大家分享了一遍,即你是任何集合也好,上述的屬性方法都是通用的實(shí)現(xiàn)。

      當(dāng)然還有一些比如在集合中添加刪除元素啊等等,由于不同的集合有可能有不同的實(shí)現(xiàn)方法名,這里就不一一贅述了。

      請(qǐng)注意:Excel VBA 中控制所有的對(duì)象都是用集合來(lái)實(shí)現(xiàn)的,因此我們后續(xù)要研究的名稱,表格,數(shù)據(jù)透視表,圖表等等對(duì)象都是一個(gè)個(gè)集合,一個(gè)個(gè)不同的籃子來(lái)控制的。因此本課對(duì)集合的認(rèn)知是后續(xù)一切課程的基礎(chǔ)。  

                   

      思考題:

      1、假如一個(gè)集合   饅頭s  編號(hào)從1 開(kāi)始,這個(gè)集合中已經(jīng)裝了一些饅頭。那么編號(hào)最后的饅頭是幾號(hào)?

      2、如果上面的集合編號(hào)是從0 開(kāi)始呢,最后的饅頭編號(hào)是幾號(hào)? 


        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多