excel下拉列表怎么添加 excel下拉列表設置的簡單方法

本節介紹一下ControlFormat對象,嚴格來說這個對象是對應于Excel中的ListBox對象的一些屬性和方法,為什么不以ListBox來返回,就不太清楚了 。
【excel下拉列表怎么添加 excel下拉列表設置的簡單方法】總之,要對Excel表中的ListBox對象操作就這么做就行了 。

excel下拉列表怎么添加 excel下拉列表設置的簡單方法

文章插圖
excel下拉列表怎么添加 excel下拉列表設置的簡單方法

文章插圖
那么,如何得到ControlFormat對象呢?
用下面的方法:
dim xCF as Object
Set xCF=Shapes(i).ControlsFormat
對象xCF就是一個ControlFormat對象,其中i代表了此Shape的Index值 。
這就有點不可想像了,Shape是Excel表繪圖層中的對象,例如自選圖形、任意多邊形、OLE 對象或圖片,此處就代表了一個OLE對象,即ListBox 。
有點亂,但要了解一下Shape對象,如下圖所示,有按鈕對象,下拉列表和文本框對象,都 屬于Shapes對象合集 。
excel下拉列表怎么添加 excel下拉列表設置的簡單方法

文章插圖
excel下拉列表怎么添加 excel下拉列表設置的簡單方法

文章插圖
可以使用Shape對象的ContrlFormat來返回ContrlFormat對象 。
當我們得到這個ContrlFormat對象之后,就可以對下拉列表框進行各種添加刪除操作了 。
ContrlFormat對象有四個方法:Additem、List、RemoveAllitems、Removeitem
懂基本英語就基本明白這四種方法的功能了,這里不做過多介紹,具體可參考下面的代碼進行對號 。
更加重要的是ContrlFormat的屬性,一共有17個,屬性就是用一些固定的參數來進行設置,可以使下拉列表框更加符合要求,目的很簡單 。
excel下拉列表怎么添加 excel下拉列表設置的簡單方法

文章插圖
excel下拉列表怎么添加 excel下拉列表設置的簡單方法

文章插圖
下面,用實例來證明一下我們通過代碼如何實現對下拉列表的添加、修改、刪除等等操作 。
添加列表框
Private Sub AddListBox()DelListbox \'刪除除列表框Dim xlobj As Object\'添加列表框Set xlobj = Me.Shapes.AddFormControl(xlListBox, Range(\"E3\").Left, Range(\"E3\").Top, 200, 350)Dim xFormat As ObjectSet xFormat = xlobj.ControlFormat \'返回列表對象xFormat.RemoveAllItems \'清除列表內容xFormat.ListFillRange = Range(\"C4:C20\").Address\'設置列表區域Set xFormat = NothingSet xlobj = NothingEnd Sub返回列表值
Private Sub ShowListValue()Dim xShape As ShapeFor Each xShape In Me.ShapesIf xShape.Type = 8 ThenMsgBox xShape.ControlFormat.List(xShape.ControlFormat.ListIndex)End IfNext xShapeEnd Sub給列表框添加列表
Private Sub AddListItems()Dim xShape As ShapeFor Each xShape In Me.Shapes\'遍歷ShapesIf xShape.Type = 8 Then\'如果是列表xShape.ControlFormat.RemoveAllItems\'清除所有列表值For i = 4 To 7xShape.ControlFormat.AddItem Range(\"B\" & i).Value\'添加列表Next iEnd IfNext xShapeEnd Sub如上代碼,根據ContrlFormat的四個方法和屬性可實現所有對列表框的添加刪除修改功能 。
這樣,就大大地增加了Excel工作表的一些使用功能 。

    推薦閱讀