動動鼠標,制作比數(shù)據(jù)有效性更炫酷的下拉菜單 然后更進一步的問題是,如何制作顯示多列同時可以選擇多項的下拉菜單? 比如下圖醬紫,顯示三列下拉菜單,可以選擇任意多個項目合并到一個單元格…… 打個響指……發(fā)個廣告,待會回來。 . 假裝 有 廣告 . 首先,咱們得有個數(shù)據(jù)表,用來填充選項菜單的數(shù)據(jù)。嗯,我們把這份工作表命名為“參數(shù)表”,數(shù)據(jù)如下圖所示。A列是商品代碼,B列是商品,C列是負責(zé)人。 然后,我們在需要制作選項菜單的工作表放一個列表框控件。 具體步驟是在【開發(fā)工具】選項卡下單擊【插入】按鈕,在彈出來的選項菜單中選擇ActiveX控件列表框,畫在當(dāng)前工作表。位置隨便,大小不論,丑美無關(guān)……畢竟這些你說了都不算,待會代碼會設(shè)置。 需要說明的是,如果這是你放置的第1個列表框控件,它會被系統(tǒng)默認名稱為ListBox1。這個名字很重要,代碼里都是按這個名字控制它的。 最后退出設(shè)計模式,也就是點擊【開發(fā)工具】選項卡下的【設(shè)計模式】按鈕。 好了,把以下代碼復(fù)制粘貼到目標工作表的VBE編輯窗口即可。比如我們這里是粘貼到名稱為“入庫單”工作表。 代碼如下: Private Sub Worksheet_SelectionChange(ByVal Target As Range) 小貼士: 代碼有兩個部分,一部分是工作表的Worksheet_SelectionChange事件。當(dāng)用戶選擇單元格時,設(shè)置列表框的位置、大小和數(shù)據(jù)。本例中列表框只出現(xiàn)在B列,且行數(shù)大于3的情況下。這個可以根據(jù)實際情況,自己進行修改。 另一部分是列表框的ListBox1_Change事件,當(dāng)用戶選擇列表框的數(shù)據(jù)時,將數(shù)據(jù)寫入單元格。 其實相關(guān)代碼都有注釋,這里就不再啰嗦了。 示例文件下載:https://pan.baidu.com/s/1sKf9dl64E8ocKYWxY7Edng 提取碼:ebgb 晚安。 |
|
來自: 軒南1sejnt2ii7 > 《03Excel》