向工作表中添加列表框或组合框
http://office.microsoft.com/zh-cn/excel-help/HP010236681.aspx
添加列表框(表單控件)
顯示“開發工具”選項卡
?注釋???功能區是 Microsoft Office Fluent 用戶界面的一個組件。
?提示???也可以右鍵單擊該控件,然后單擊“設置控件格式”。
若要指定控件屬性,請執行下列操作:
鏈接單元格返回列表框內的選定項目數。區域內的第一個項目將返回值 1,區域內的第二個項目將返回值 2,依此類推。
在公式中使用此數字以返回數據源區域內的實際項目。
例如,甜點喜好表單上有一個鏈接到單元格 C1 的列表框,該列表的數據源區域是 D1:D5,該區域中的項目有“冰淇淋”(D1)、“蛋糕”(D2)、“甜露酒”(D3)、“糖果”(D4) 和“巧克力”(D5)。如果 C1 的值是 3,則基于該列表框中的當前選定內容,在單元格 B1 中輸入的以下公式將返回區域 D1:D5 中的值“甜露酒”。
=INDEX(D1:D5,C1)
- 若要創建單項選擇列表框,請單擊“單一”。
- 若要創建多項選擇列表框,請單擊“復選”。
- 若要創建擴展選擇列表框,請單擊“擴展”。
?注釋???如果將選定類型設置為“復選”或“擴展”,則在“單元格鏈接”框中指定的單元格將返回值 0 并且將被忽略。“復選”“擴展”選定類型需要使用 Microsoft Visual Basic for Applications (VBA) 代碼。在這些情況下,請考慮使用 ActiveX 列表框控件。
返回頁首
添加列表框(ActiveX 控件)
顯示“開發工具”選項卡
?注釋???功能區是 Microsoft Office Fluent 用戶界面的一個組件。
?提示???也可以右鍵單擊該控件,然后單擊“屬性”。
“屬性”對話框隨即出現。若要獲取有關每個屬性的詳細信息,請選擇該屬性,然后按 F1 以顯示 Visual Basic 幫助 (Visual Basic 幫助:要獲得 Visual Basic 幫助,可指向“工具”菜單中的“宏”,然后單擊“Visual Basic 編輯器”。在“幫助”菜單上,單擊“Microsoft Visual Basic 幫助”。)主題。還可以在 Visual Basic 幫助的“搜索”框中鍵入該屬性名稱。下一部分總結了可用的屬性。
按功能類別劃分的屬性摘要
| 常規: | ? |
| 打開工作簿時是否加載控件。(如果是 ActiveX 控件,則忽略。) | AutoLoad (Excel) |
| 控件是否可以接收焦點并響應用戶生成的事件。 | Enabled(表單) |
| 控件是否可編輯。 | Locked(表單) |
| 控件的名稱。 | Name(表單) |
| 控件附加到其下方單元格的方式(自由浮動、移動但不調整大小,或者移動并調整大小)。 | Placement (Excel) |
| 控件是否可打印。 | PrintObject (Excel) |
| 控件是可見還是隱藏。 | Visible(表單) |
| 文本: | ? |
| 字體屬性(加粗、傾斜、字號、刪除線、下劃線和粗細)。 | Bold、Italic、Size、StrikeThrough、Underline、Weight(表單) |
| 輸入法編輯器 (IME) 的默認運行時模式。 | IMEMode(表單) |
| 控件的大小是否可調整以顯示全部或部分文本行。 | IntegralHeight(表單) |
| 是否允許選擇多個項目。 | MultiSelect(表單) |
| 控件中的文本。 | Text(表單) |
| 文本在控件中的對齊方式(左對齊、居中或右對齊)。 | TextAlign(表單) |
| 數據和綁定: | ? |
| 鏈接至控件值的區域。 | LinkedCell (Excel) |
| 控件的內容或狀態。 | Value(表單) |
| 大小和位置: | ? |
| 高度或寬度(以磅為單位)。 | Height、Width(表單) |
| 控件與工作表的左邊緣或上邊緣之間的距離。 | Left、Top(表單) |
| 格式設置: | ? |
| 背景色。 | BackColor(表單) |
| 邊框的顏色。 | BorderColor(表單) |
| 邊框的類型(無或單線)。 | BorderStyle(表單) |
| 前景色。 | ForeColor(表單) |
| 控件是否有陰影。 | Shadow (Excel) |
| 邊框的可視外觀(平面、凸起、凹陷、蝕刻或凸塊)。 | SpecialEffect(表單) |
| 鍵盤和鼠標: | ? |
| 自定義鼠標圖標。 | MouseIcon(表單) |
| 用戶將鼠標放在特定對象上時顯示的指針類型(例如標準指針、箭頭或 I 型)。 | MousePointer(表單) |
| 特定于列表框: | ? |
| 多個列的數據源。 | BoundColumn(表單) |
| 要顯示的列數。 | ColumnCount(表單) |
| 作為列標題的單個行。 | ColumnHeads(表單) |
| 每列的寬度。 | ColumnWidths(表單) |
| 用于填充列表的區域。 | ListFillRange (Excel) |
| 列表樣式(普通、帶有選項按鈕或帶有復選框)。 | ListStyle(表單) |
| 在用戶鍵入時控件搜索其列表的方式(首字母、整個條目或者未指定) | MatchEntry(表單) |
| 當用戶選擇一行時要存儲到“Text”屬性中的列。 | TextColumn(表單) |
| 出現在列表中的最頂端位置的項目。 | TopIndex(表單) |
?注釋?
- 若要創建啟用了多項選擇或擴展選擇的列表框,請使用“MultiSelect”屬性。在這種情況下,“LinkedCell”屬性將返回值“#N/A”。必須使用 VBA 代碼來處理多項選擇。
- 若要創建具有列標題的兩列列表框,請將“ColumnCount”設置為“2”,將“ColumnHeads”設置為“True”、將“ColumnWidths”設置為每列需要的寬度(例如,72pt;72pt),將“ListFillRange”設置為用于填充該列表的區域(例如,B2:C6),將“BoundColumn”設置為“1”或“2”(以指示要保存的列值),并將“LinkedCell”設置為包含選定值的單元格地址。默認情況下,將列標簽用作列標題(例如,“列 B”和“列 C”)。若要使用您自己的列標題,在關閉“屬性”對話框之前,請將它們(例如,B1 和 C1)放在“ListFillRange”中指定的第一個值的正上方。最后,調整列表框的大小以顯示兩個列。
- 若要創建在列表框中顯示一個值但將另一個值保存在鏈接單元格中的列表框,請創建一個兩列列表框,然后通過將其中一列的“ColumnWidths”值設置為“0”來隱藏該列。例如,您可以設置一個兩列列表框,其中一列包含節假日的名稱,第二列包含與節假日相關的日期。若要向用戶顯示節假日名稱,請將第一列指定為“TextColumn”。若要存儲節假日的日期,請將第二列指定為“BoundColumn”。若要隱藏節假日的日期,請將第二列的“ColumnWidths”屬性設置為“0”。
返回頁首
添加組合框(表單控件)
顯示“開發工具”選項卡
?注釋???功能區是 Microsoft Office Fluent 用戶界面的一個組件。
在文本框折疊時會顯示下拉箭頭。
?提示???也可以右鍵單擊該控件,然后單擊“設置控件格式”。
若要指定控件屬性,請執行下列操作:
鏈接單元格將返回組合框下拉列表中的選定項目數。區域內的第一個項目將返回值 1,區域內的第二個項目將返回值 2,依此類推。
在公式中使用此數字以返回數據源區域內的實際項目。例如,甜點喜好表單上有一個鏈接到單元格 C1 的組合框,該列表的數據源區域是 D1:D5,該區域中的項目有“冰淇淋”(D1)、“蛋糕”(D2)、“甜露酒”(D3)、“糖果”(D4) 和“巧克力”(D5)。如果 C1 的值是 3,則基于該組合框中的當前選定內容,在單元格 B1 中輸入的以下公式將返回區域 D1:D5 中的值“甜露酒”。
=INDEX(D1:D5,C1)
?注釋???如果要創建一個讓用戶能夠在文本框內編輯文本的組合框,請考慮使用 ActiveX 組合框控件。
- 為 0,則忽略項數,且將項數當作 1。
- 小于“數據源區域”框中指定的區域中的項數,則顯示滾動條。
- 等于或大于“數據源區域”框中指定的區域中的項數,則不顯示滾動條。
返回頁首
添加組合框(ActiveX 控件)
顯示“開發工具”選項卡
?注釋???功能區是 Microsoft Office Fluent 用戶界面的一個組件。
?提示???也可以右鍵單擊該控件,然后單擊“屬性”。
“屬性”對話框隨即出現。若要獲取有關每個屬性的詳細信息,請選擇該屬性,然后按 F1 以顯示 Visual Basic 幫助 (Visual Basic 幫助:要獲得 Visual Basic 幫助,可指向“工具”菜單中的“宏”,然后單擊“Visual Basic 編輯器”。在“幫助”菜單上,單擊“Microsoft Visual Basic 幫助”。)主題。還可以在 Visual Basic 幫助的“搜索”框中鍵入該屬性名稱。下一部分總結了可用的屬性。
按功能類別劃分的屬性摘要
| 常規: | ? |
| 打開工作簿時是否加載控件。(如果是 ActiveX 控件,則忽略。) | AutoLoad (Excel) |
| 控件是否可以接收焦點并響應用戶生成的事件。 | Enabled(表單) |
| 控件是否可編輯。 | Locked(表單) |
| 控件的名稱。 | Name(表單) |
| 控件附加到其下方單元格的方式(自由浮動、移動但不調整大小,或者移動并調整大小)。 | Placement (Excel) |
| 控件是否可打印。 | PrintObject (Excel) |
| 控件是可見還是隱藏。 | Visible(表單) |
| 文本: | ? |
| 單詞或字符是否是用來擴展選定內容的基本單位。 | AutoWordSelect(表單) |
| 字體屬性(加粗、傾斜、字號、刪除線、下劃線和粗細)。 | Bold、Italic、Size、StrikeThrough、Underline、Weight(表單) |
| 當控件沒有焦點時所選文本是否仍然突出顯示。 | HideSelection(表單) |
| 輸入法編輯器 (IME) 的默認運行時模式。 | IMEMode(表單) |
| 用戶可以輸入的最大字符數。 | MaxLength(表單) |
| 用戶是否可以通過單擊文本左側來選擇一行文本。 | SelectionMargin(表單) |
| 控件中的文本。 | Text(表單) |
| 文本在控件中的對齊方式(左對齊、居中或右對齊)。 | TextAlign(表單) |
| 數據和綁定: | ? |
| 鏈接至控件值的區域。 | LinkedCell (Excel) |
| 控件的內容或狀態。 | Value(表單) |
| 大小和位置: | ? |
| 控件的大小是否可以自動調整以顯示所有內容。 | AutoSize(表單) |
| 高度或寬度(以磅為單位)。 | Height、Width(表單) |
| 控件與工作表的左邊緣或上邊緣之間的距離。 | Left、Top(表單) |
| 格式設置: | ? |
| 背景色。 | BackColor(表單) |
| 背景樣式(透明或不透明)。 | BackStyle(表單) |
| 邊框的顏色。 | BorderColor(表單) |
| 邊框的類型(無或單線)。 | BorderStyle(表單) |
| 前景色。 | ForeColor(表單) |
| 控件是否有陰影。 | Shadow (Excel) |
| 邊框的可視外觀(平面、凸起、凹陷、蝕刻或凸塊)。 | SpecialEffect(表單) |
| 鍵盤和鼠標: | ? |
| 在用戶輸入控件的最大字符數后是否發生自動制表符操作。 | AutoTab(表單) |
| 是否啟用拖放功能。 | DragBehavior(表單) |
| 進入控件時的選擇行為(全選或不變)。 | EnterFieldBehavior(表單) |
| 自定義鼠標圖標。 | MouseIcon(表單) |
| 用戶將鼠標放在特定對象上時顯示的指針類型(例如標準指針、箭頭或 I 型)。 | MousePointer(表單) |
| 特定于組合框: | ? |
| 多個列的數據源。 | BoundColumn(表單) |
| 要顯示的列數。 | ColumnCount(表單) |
| 作為列標題的單個行。 | ColumnHeads(表單) |
| 每列的寬度。 | ColumnWidths(表單) |
| 在下拉按鈕上顯示的符號(下箭頭、普通、省略號或下劃線)。 | DropButtonStyle(表單) |
| 用于填充列表的區域。 | ListFillRange (Excel) |
| 要在列表中顯示的最大行數。 | ListRows(表單) |
| 列表樣式(普通、帶有選項按鈕或帶有復選框)。 | ListStyle(表單) |
| 列表的寬度。 | ListWidth(表單) |
| 在用戶鍵入時控件搜索其列表的方式(首字母、整個條目或者未指定) | MatchEntry(表單) |
| 作為文本輸入的值是否必須與現有列表中的條目相匹配。 | MatchRequired(表單) |
| 何時顯示下拉按鈕(從不、有焦點時或者始終)。 | ShowDropButtonWhen(表單) |
| 用戶選擇或設置值的方式(下拉組合框或下拉列表)。 | Style(表單) |
| 當用戶選擇一行時要存儲到“Text”屬性中的列。 | TextColumn(表單) |
| 出現在列表中的最頂端位置的項目。 | TopIndex(表單) |
?注釋?
- 若要創建具有列標題的兩列組合框,請將“ColumnCount”設置為“2”,將“ColumnHeads”設置為“True”,將“ColumnWidths”設置為每列需要的寬度(例如,72pt;72pt),將“ListFillRange”設置為用于填充該列表的區域(例如,B1:C6),將“BoundColumn”設置為“1”或“2”(以指示要保存的列值),將“TextColumn”設置為要在組合框的文本框部分中顯示的數據列(可與“BoundColumn”值相同或不同),并將“LinkedCell”設置為將包含選定值的單元格地址。默認情況下,將列標簽用作列標題(例如,“列 B”和“列 C”)。若要使用您自己的列標題,在關閉“屬性”對話框之前,請將它們(例如,B1 和 C1)放在“ListFillRange”中指定的第一個值的正上方。最后,調整組合框的大小以顯示兩個列。
- 若要創建在組合框中顯示一個值但將另一個值保存在鏈接單元格中的組合框,請創建一個兩列組合框,然后通過將其中一列的“ColumnWidths”值設置為“0”來隱藏該列。例如,您可以設置一個兩列組合框,其中一列包含節假日的名稱,第二列包含與節假日相關的日期。若要向用戶顯示節假日名稱,請將第一列指定為“TextColumn”。若要存儲節假日的日期,請將第二列指定為“BoundColumn”。若要隱藏節假日的日期,請將第二列的“ColumnWidths”屬性設置為“0”。
- 若要創建不允許用戶輸入新值的組合框,請將“Style”設置為“2”。若要創建允許用戶輸入列表中沒有的新值的組合框,請將“Style”設置為“1”(默認值)。在這種情況下,如果要動態更新列表值,必須編寫 VBA 代碼。
?
總結
以上是生活随笔為你收集整理的向工作表中添加列表框或组合框的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习使用 Manifest
- 下一篇: 自定义Excel下拉菜单