excel下拉框多選打勾的設置方法

excel下拉框多選打勾的設置方法

excel下拉框多選打勾的設置方法

一、顯示“開發工具”選項卡。打開Excel2010,點擊左上方“文件”圖標。點擊“選項”,彈出“Excel選項”對話框,在“自定義功能區”中勾選“開發工具”,點擊確定。

推薦:《excel教程

excel下拉框多選打勾的設置方法

excel下拉框多選打勾的設置方法

二、設置下拉列表的選項內容。將工作表sheet2名稱修改為“data”,并在A列輸入下拉選項。

excel下拉框多選打勾的設置方法

三、插入ListBox(列表框)控件。

1) ?在工作表sheet1中,選擇A列,點擊“開發工具”選項卡,選擇“插入”里的“列表框”,放置到A列中。

2) 選中列表框控件,點擊“設計模式”,在設計模式下點擊“屬性”,彈出ListBox屬性框,選擇“按分類序”。修改MultiSelect項為“1 – fmMultiSelectMulti”,修改ListStyle項為“1 – fmListStyleOption”,設置ListFillRange項為所選菜單選項所在的表格名稱和單元格范圍,具體格式為“data!A1:A8”。

excel下拉框多選打勾的設置方法

四、插入代碼。 在Excel中點擊開發工具中的“Visual Basic”,打開VB編輯器,在VB編輯器中雙擊Sheet1,打開sheet1的編輯器,將以下代碼粘貼到編輯器中并保存。

在sheet1中保存代碼:

Private?Sub?ListBox1_Change() ????If?ReLoad?Then?Exit?Sub?'見下方說明 ????For?i?=?0?To?ListBox1.ListCount?-?1 ????????If?ListBox1.Selected(i)?=?True?Then?t?=?t?&?","?&?ListBox1.List(i) ????Next ????ActiveCell?=?Mid(t,?2) End?Sub Private?Sub?Worksheet_SelectionChange(ByVal?Target?As?Range) ????With?ListBox1 ????????If?ActiveCell.Column?=?1?And?ActiveCell.Row?>?1?Then ????????????t?=? ActiveCell.Value ????????????ReLoad?=?True?'如果是根據單元格的值修改列表框,則暫時屏蔽listbox的change事件。 ????????????For?i?=?0?To?.ListCount?-?1?'根據活動單元格內容修改列表框中被選中的內容 ????????????????If?InStr(t,?.List(i))?Then ????????????????????.Selected(i)?=?True ????????????????????Else ????????????????????.Selected(i)?=?False ????????????????End?If ????????????Next ????????????ReLoad?=?False ????????????.Top?=?ActiveCell.Top?+?ActiveCell.Height?'以下語句根據活動單元格位置顯示列表框 ????????????.Left?=?ActiveCell.Left ????????????.Width?=?ActiveCell.Width ????????????.Visible?=?True ????????????Else ????????????.Visible?=?False ????????End?If ????End?With End?Sub

excel下拉框多選打勾的設置方法

在VB編輯器中雙擊Sheet2,將以下代碼粘貼到編輯器中并保存。(該段代碼是為了動態設置下拉菜單選項值而加的,如果下拉菜單的選項值固定,可以直接在ListBox的ListFillRange屬性中指定,不要以下的代碼)

在sheet2(data)中保存代碼:

Private?Sub?Worksheet_Change(ByVal?Target?As?Range) ????Sheets("Sheet1").ListBox1.ListFillRange?=?"data!a1:a"?&?Cells(1,?1).End(xlDown).Row End?Sub

excel下拉框多選打勾的設置方法

將代碼保存后,關閉VB編輯器,在sheet1工作表中,點擊A列單元格,結果如下圖所示。

在模塊1中保存:

public ReLoad As Boolean ‘開關listbox的change事件

excel下拉框多選打勾的設置方法

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享