各位朋友,你們好,今天和大家分享<strong>下拉菜單的製作,相關內容如下:
一、下拉菜單的基礎(三種製作方式)
- 數據有效性製作下拉菜單
- 表單控件之組合框製作下拉菜單
- ActiveX控件之組合框製作下拉菜單
二、二級下拉菜單製作
三、三級下拉菜單製作
四、下拉菜單的特殊操作
- 多列數據如何設置數據有效性
- 如何製作關鍵字提醒的下拉菜單
- 如何製作越選越少的下拉菜單
五、Word中下拉菜單的製作
下拉菜單的基礎
一、數據有效性製作下拉菜單
<strong>依次找到【數據】→【數據有效性】→【數據有效性(V)…】 → 【設置】序列 → 【設置】來源
<strong>來源有以下四種:
① 直接引用單元格區域<strong>(限制其僅能引用同一工作表中同一列或者同一行的連續區域);
② 引用公式<strong>(公式必須是引用某個連續的列(行)區域,支持數組,但不支持內存數組);
③ 使用定義名稱<strong>(就是把第②項的公式定義成名稱,然後引用這個名稱,可實現跨表引用數據);
④ 直接輸入序列<strong>(例如:輸入『1,2,3,4,5,6,7』,注:此處只能使用半角逗號分隔,區分大小寫)。
<strong>小技巧:在直接輸入序列的時候,如何在下拉列表中做一個空格選項呢?如果是手動輸入序列來源,則用全角狀態下的空格;如果是用公式,公式引用的時候多引用一行空白內容即可。
二、表單控件之組合框製作下拉菜單
<strong>依次找到【開發工具】→【插入】→【表單控件】→【組合框】→工作表中畫一個組合框 → 設置控件格式 → 【控制】數據來源區域 → 【控制】單元格鏈接 【控制】下拉顯示項數
<strong>注意:使用表單控件的組合框,選擇菜單中的某一項後,單元格中得到的內容並非所選擇的內容,而是所選擇的內容在數據列中所處的位置。(此法常用於製作動態的圖表)
三、ActiveX控件之組合框製作下拉菜單
<strong>依次找到【開發工具】→【插入】→【ActiveX控件】→【組合框】 → 工作表中畫一個組合框 → 右鍵選擇【屬性】 → 【ListFillRange】數據來源區域 → 【LinkedCell |】單元格鏈接 → 【ListRows】下拉顯示項數 → 退出設計模式
<strong>用ActiveX控件製作簡單的下拉菜單,還可以設置其他的屬性,比圖控件的大小、位置、風格、字體、顏色等。使用ActiveX控件設置下拉菜單,常用於VBA窗體中,在工作表中用的並不多。
二級下拉菜單製作(使用數據有效性)
第二級名稱的下拉菜單,用的公式是:
=OFFSET($A$1,1,MATCH($H$1,$A$1:$E$1,)-1,COUNTA(OFFSET($A$2:$A$12,,MATCH($H$1,$A$1:$E$1,)-1)),1)
<strong>這裡面,用了兩個OFFSET函數,第一個是用於獲取下拉列表的數據,第二個是用於計算下拉列表中名稱的數量,即數據區域的高度,原理是用的OFFSET函數以區域為參照,偏移後的結果。如果不這樣設置,下拉列表中將會出現空白行(如下圖所示)
三級下拉菜單製作(使用數據有效性)
一級菜單【省】的公式:=OFFSET($A$14,,1,1,COUNTA($A$2:$A$13))
二級菜單【市】的公式:=OFFSET($B$1,MATCH($A17,$A$2:$A$13,),,4,1)
三級菜單【區縣】的公式:=OFFSET($B$1,MATCH($B17,$B$2:$B$13,),1,1,COUNTA(OFFSET($C$1:$L$1,MATCH($B17,$B$2:$B$13,),)))
最終效果如下:
<strong>如果下拉菜單達到了4級、5級甚至更復雜的程度,就不建議用函數公式了,直接用VBA吧。菜單層級太多時,各個層級之間的關係變得複雜了,會用較多的輔助列,實際體驗可能不是很好。
下拉菜單的特殊操作
一、多列數據如何設置數據有效性
<strong>使用定義名稱的形式,將多列數據組成的連續區域,定義成一個名稱,然後直接使用定義的名稱即可。
二、如何製作關鍵字提醒的下拉菜單
1、關鍵字可以直接獲取連續區域
由於數據有效性中,引用的區域必須連續,所以必須要求輸入的關鍵字後,得到的區域也是連續的,這點有一定的侷限性,要更靈活使用關鍵字,就需要用到輔助列或VBA,下面我們演示輔助列的方法。
2、關鍵字不能獲取連續區域(輔助列方法)
輔助列公式為(數組公式):=INDEX($A$1:$A$65536,SMALL(IF(ISERROR(FIND($C$2,$A$1:$A$12)),4^8,ROW($1:$12)),ROW(A1)))&""
數據有效性公式為:=OFFSET($F$1,1,,SUM(--(LEN($F$2:$F$15)>0)),1)
輔助列的公式為經典的INDEX+SMALL+IF的函數組合公式
3、如何製作越選越少的下拉菜單(輔助列方法)
要實現下拉列表越選越少的下拉菜單,可以用VBA和輔助列的方法,今天我們介紹輔助列的方法:
輔助列公式:=INDEX($A$1:$A$65536,SMALL(IF(COUNTIF($C$1:$C$12,$A$1:$A$12)=0,ROW($1:$12),4^8),ROW(A1)))&""
數據有效性公式:=OFFSET($F$1,1,,SUM(--(LEN($F$3:$F$15)>0)),1)
Word中下拉菜單的製作
另外,還有一些特殊形式的下拉菜單,比如可以直接顯示多列的下拉菜單、帶複選框的下拉菜單、帶單選框的下拉菜單,這些無法通過函數來實現,在這次的分享中,就不再介紹了(文字太多了),以後在分享VBA控件相關知識的時候再介紹吧。
好了,今天就到這裡,感謝各位朋友的關注和支持。
如果你喜歡我分享的內容,請點個贊支持下;
如果你覺得我分享的內容對你有幫助,可以關注我;
如果要看我以前分享過的好玩的內容,大家可以去我的主頁查看歷史文章。
閱讀更多 上班下班 的文章