excel下拉方塊多重選取勾選的設定方法
一、顯示「開發工具」標籤。開啟Excel2010,點選左上方「檔案」圖示。點選“選項”,跳出“Excel選項”對話框,在“自訂功能區”中勾選“開發工具”,點選確定。
推薦:《excel教學》
#二、設定下拉清單的選項內容。將工作表sheet2名稱修改為「data」,並在A欄輸入下拉選項。
三、插入ListBox(列錶框)控制項。
1) 在工作表sheet1中,選擇A列,點選“開發工具”標籤,選擇“插入”裡的“列錶框”,並放置到A列中。
2) 選取列錶框控件,點選“設計模式”,在設計模式下點選“屬性”,彈出ListBox屬性框,選擇“按分類序”。修改MultiSelect項目為“1 – fmMultiSelectMulti”,修改ListStyle項目為“1 – fmListStyleOption”,設定ListFillRange項目為所選選單選項所在的表格名稱和儲存格範圍,具體格式為“data!A1:A8”。
四、插入程式碼。在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
#在VB編輯器中雙擊Sheet2,將以下程式碼貼到編輯器中並儲存。 (該段程式碼是為了動態設定下拉式選單選項值而加的,如果下拉式選單的選項值固定,可以直接在ListBox的ListFillRange屬性中指定,不要以下的程式碼)
在sheet2(數據)中儲存程式碼:
Private Sub Worksheet_Change(ByVal Target As Range) Sheets("Sheet1").ListBox1.ListFillRange = "data!a1:a" & Cells(1, 1).End(xlDown).Row End Sub
將程式碼儲存後,關閉VB編輯器,在sheet1工作表中,點選A列儲存格,結果如下圖所示。
在模組1中儲存:
Public ReLoad As Boolean '開關listbox的change事件
以上是excel下拉框多選打勾的設定方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!