tft每日頭條

 > 圖文

 > 怎麼搞下拉列表

怎麼搞下拉列表

圖文 更新时间:2024-11-23 02:30:46

本節介紹一下ControlFormat對象,嚴格來說這個對象是對應于Excel中的ListBox對象的一些屬性和方法,為什麼不以ListBox來返回,就不太清楚了。

總之,要對Excel表中的ListBox對象操作就這麼做就行了。

怎麼搞下拉列表(下拉列表的操作方法)1

那麼,如何得到ControlFormat對象呢?

用下面的方法:

dim xCF as Object

Set xCF=Shapes(i).ControlsFormat

對象xCF就是一個ControlFormat對象,其中i代表了此Shape的Index值。

這就有點不可想像了,Shape是Excel表繪圖層中的對象,例如自選圖形、任意多邊形、OLE 對象或圖片,此處就代表了一個OLE對象,即ListBox。

有點亂,但要了解一下Shape對象,如下圖所示,有按鈕對象,下拉列表和文本框對象,都 屬于Shapes對象合集。

怎麼搞下拉列表(下拉列表的操作方法)2

可以使用Shape對象的ContrlFormat來返回ContrlFormat對象。

當我們得到這個ContrlFormat對象之後,就可以對下拉列表框進行各種添加删除操作了。

ContrlFormat對象有四個方法:Additem、List、RemoveAllitems、Removeitem

懂基本英語就基本明白這四種方法的功能了,這裡不做過多介紹,具體可參考下面的代碼進行對号。

更加重要的是ContrlFormat的屬性,一共有17個,屬性就是用一些固定的參數來進行設置,可以使下拉列表框更加符合要求,目的很簡單。

怎麼搞下拉列表(下拉列表的操作方法)3

下面,用實例來證明一下我們通過代碼如何實現對下拉列表的添加、修改、删除等等操作。

添加列表框

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 Object Set xFormat = xlobj.ControlFormat '返回列表對象 xFormat.RemoveAllItems '清除列表内容 xFormat.ListFillRange = Range("C4:C20").Address'設置列表區域 Set xFormat = Nothing Set xlobj = Nothing End Sub

返回列表值

Private Sub ShowListValue() Dim xShape As Shape For Each xShape In Me.Shapes If xShape.Type = 8 Then MsgBox xShape.ControlFormat.List(xShape.ControlFormat.ListIndex) End If Next xShape End Sub

給列表框添加列表

Private Sub AddListItems() Dim xShape As Shape For Each xShape In Me.Shapes'遍曆Shapes If xShape.Type = 8 Then'如果是列表 xShape.ControlFormat.RemoveAllItems'清除所有列表值 For i = 4 To 7 xShape.ControlFormat.AddItem Range("B" & i).Value'添加列表 Next i End If Next xShape End Sub

如上代碼,根據ContrlFormat的四個方法和屬性可實現所有對列表框的添加删除修改功能。

這樣,就大大地增加了Excel工作表的一些使用功能。

歡迎關注、收藏

---END---

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved