Excel 中的 ActiveX 控件,很多同學都不知道要怎麼用,甚至連表單控件也有很多人沒用過。
ActiveX 控件和表單控件的組件看上去都差不多,二者到底有什麼區別呢?
表單控件我寫過很多,比如我在 VBA 的案例教程中幾乎每次都會使用表單控件。表單控件還有個常見用途是控制動態圖表。以下是部分表單控件的教程,大家可以學習一下。
上述案例如果用 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 所示。
閱讀更多 Excel學習世界 的文章