除非注明,文章均為 戰(zhàn)戰(zhàn)如瘋 原創(chuàng),轉(zhuǎn)載請保留鏈接: http://www./cat1/273.html,VBA交流群273624828。 這節(jié)來介紹一下Excel VBA怎樣向組合框添加項目及怎樣取得組合框的值。 向組合框中添加項目一般來說有三種方法,我們依次來看。 第一種使用AddItem,看下面的代碼
上面的代碼一次向組合框中添加一個項目,共添加了三條項目。 第二種方法使用數(shù)組,看代碼
事先將要添加的項目放到一個數(shù)組中,然后使用組合框的List屬性。 第三種方法使用工作表區(qū)域,事先將要添加的項目放到工作表中,例如F1到F3分別寫入A、B、C,然后運(yùn)行下面的代碼
上面的代碼用的是ComboBox的RowSource屬性,值是相應(yīng)的單元格區(qū)域。 下面再來看怎樣向組合框中加入多列項目,這里只介紹RowSource方法,仍舊是事先將我們要加入的項目放到工作表的相應(yīng)區(qū)域,然后執(zhí)行下面的代碼
Sheet1的A2:C4是我們的數(shù)據(jù)區(qū)域,ColumnCount屬性表示要顯示 幾列,這里設(shè)置成3列,ColumnHeads表示是否包括頭部,True代表包括頭部(注意這里A2:C4的范圍并沒有把頭部包括進(jìn)去),可以自己看下效果。我們這里有3列,但是組合框中只能顯示一個值,那顯示哪個值呢?用TextColumn屬性來表示,2表示在組合框中顯示的是第2列的值,例如你選擇的是第一行數(shù)據(jù),那在組合框中顯示的值就是12。組合框ComboBox還有一個Value屬性,同樣的,如果是多列Value到底是指哪一列的值呢?這個就得用到BoundColumn屬性了,3就表示ComboBox1.value就是第三列的值。那問題又來了,如果我們想要調(diào)用第一列或第二列的值怎么辦?有辦法,看下面的代碼:
ComboBox1.List(ComboBox1.ListIndex, 0)就表示第1列的值,將0換成1就表示第2列的值,換成2就表示第3列的值,看出來了吧,列標(biāo)是從0開始而不是從1開始的。 本節(jié)就到這里,示例文件下載地址:http://pan.baidu.com/s/1kT9jYK3。 |
|