Excel ActiveX 控制項到底有啥用?如此美貌的下拉菜單,非它不可

職場 發佈 2020-01-16T11:45:48+00:00

製作一個可以用下拉菜單控制的Excel 動態圖表Excel 用滾動條控制的動態圖表Excel 製作帶複選框的動態圖表上述案例如果用 ActiveX 控制項來做,將會更加簡單,因為 ActiveX 可以直接返回文本,而表單控制項只能返回數值,還需要通過公式匹配出數值對應的文本。

Excel 中的 ActiveX 控制項,很多同學都不知道要怎麼用,甚至連表單控制項也有很多人沒用過。


ActiveX 控制項和表單控制項的組件看上去都差不多,二者到底有什麼區別呢?


表單控制項我寫過很多,比如我在 VBA 的案例教程中幾乎每次都會使用表單控制項。表單控制項還有個常見用途是控制動態圖表。以下是部分表單控制項的教程,大家可以學習一下。

  • 製作一個可以用下拉菜單控制的 Excel 動態圖表
  • Excel 用滾動條控制的動態圖表
  • Excel 製作帶複選框的動態圖表


上述案例如果用 ActiveX 控制項來做,將會更加簡單,因為 ActiveX 可以直接返回文本,而表單控制項只能返回數值,還需要通過公式匹配出數值對應的文本。


今天我要教大家用 ActiveX 控制項製作一個頗具個性化的下拉菜單,這恰恰是 ActiveX 控制項的優勢,因為表單控制項無法自定義外觀。


開始案例教學前,先了解一下表單控制項和 ActiveX 控制項分別能做什麼,不能做什麼。


表單控制項:

可以:

  • 表單控制項可以在不使用 VBA 代碼的情況下引用單元格數據並與其進行交互。
  • 可以使用表單控制項來運行宏。

不可以:

  • 表單控制項不能添加到用戶表單、不能控制事件,也不能修改表單控制項來運行 Web 腳本。
  • 表單控制項返回的結果是數值,而不能返回文本。


ActiveX 控制項:

可以:

  • ActiveX 控制項可用於工作表表單(使用或不使用 VBA 代碼都可以)和 VBA 用戶表單。
  • ActiveX 控制項允許自定義外觀、行為、字體和其他特性,具有很大的靈活性。
  • 我們還可以控制與 ActiveX 控制項進行交互時發生的不同事件;也可以編寫宏來響應與 ActiveX 控制項關聯的事件。
  • ActicveX 控制項可以直接返回所選列表中的文本內容。

不可以:

  • 無法從用戶介面將 ActiveX 控制項添加到圖表工作表,也無法將其添加到 XLM 宏工作表。
  • 不能將宏分配為直接從 ActiveX 控制項運行,而表單控制項則可以。


請注意:並非所有 ActiveX 控制項都可以直接用於工作表;有些 ActiveX 控制項只能用於 VBA 用戶表單。 如果向工作表中添加這些特殊 ActiveX 控制項的話,Excel 會顯示消息「不能插入對象」。


案例:


用 ActicveX 控制項在 F2 單元格製作姓名下拉菜單,篩選姓名,即可出現對應的分數。效果如下圖 2 所示。


解決方案:


1. 選擇菜單欄的「開發工具」-->「插入」--> 選擇「ActiveX 控制項」區域的「組合框」


2. 在 F2 單元格勾勒出下拉框的大小


3. 選中 ActiveX 組合框 --> 右鍵單擊 --> 在彈出的菜單中選擇「屬性」


4. 在彈出的「屬性」對話框中進行以下設置:

  • LinkedCell:輸入「F2」
  • ListFillRange:輸入「A2:A10」


5. 選擇菜單欄的「開發工具」--> 「控制項」區域中的「設計模式」,退出設計模式。


現在點擊下拉框旁邊的小箭頭,就會出現姓名列表。


從前面對 ActiveX 控制項的介紹中可以知道,它有別於表單控制項的一點是:可以直接返回文本內容,而表單控制項只能返回數字。


從下圖可以看出,選中 F2 單元格,即控制項值所連結的單元格,其內容就是下拉菜單中的文本。


這正是 ActiveX 控制項的優勢之一,也因此使得接下來的分數查詢變得很簡單,只需使用大家非常熟悉的 vlookup 即可。


6. 在 G2 單元格中輸入以下公式,向右拖動複製公式:

=VLOOKUP($F$2,$A:$D,COLUMN(B1),0)


請注意單元格的絕對和相對引用。


至此,ActiveX 控制項下拉菜單就製作好了。


前面介紹過,ActiveX 控制項的靈活之處在於可以自定義外觀,所以接下來我們還可以做一些美化。


7. 選擇菜單欄的「開發工具」--> 「控制項」區域中的「設計模式」,啟用設計模式。


8. 選中 ActiveX 控制項 --> 右鍵單擊 --> 在彈出的菜單中選擇「屬性」


9. 在彈出的「屬性」對話框中,點擊 BackColor 最右邊的小箭頭 --> 選擇所需的背景色


10. 點擊 Font 最右邊的按鈕


11. 在彈出的「字體」對話中設置所需的字體、字形和大小等,比如本例中我將字體改為中文常用的「微軟雅黑」--> 點擊「確定」


12. 設置完畢後關閉「屬性」對話框 --> 再次選擇菜單欄的「開發工具」--> 「控制項」區域中的「設計模式」,退出設計模式,一個極具個性化的下拉菜單就製作完成了。


以下就是實際演示效果。

很多同學會覺得 Excel 單個案例講解有些碎片化,初學者未必能完全理解和掌握。不少同學都希望有一套完整的圖文教學,從最基礎的概念開始,一步步由簡入繁、從入門到精通,系統化地講解 Excel 的各個知識點。

現在終於有了,以下專欄,從最基礎的操作和概念講起,用生動、有趣的案例帶大家逐一掌握 Excel 的操作技巧、快捷鍵大全、函數公式、數據透視表、圖表、列印技巧等……學完全本,你也能成為 Excel 高手。

關鍵字: