【教學】Excel 如何製作能夠複選的下拉選單?跟著步驟馬上完成!

excel 下拉選單 複選


excel 下拉選單 複選

Step 1 在功能列「開發人員」中控制項選擇「清單方塊(ActiveX 控制項)」,並繪製
找不到「開發人員」?點我看教學


Step 2 在功能列「開發人員」選擇「屬性」


excel 下拉選單 複選

Step 3 在「ListFillRange」中輸入清單選項內容儲存格範圍


Step 4 在「ListStyle」中選擇「1-fmListStyleOption」


excel 下拉選單 複選

Step 5 在「MultiSelect」中選擇「1-fmMultiSelectMulti」


Step 6 在清單點擊滑鼠「右鍵」,選擇「檢視程式碼」


Step 7 輸入程式碼,將下方程式碼複製並貼上,並依照個人需求更改備註中的位置

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 = 2 And ActiveCell.Row > 1 Then '儲存格「欄」為「2」,依照自己的需求修改

            j = ActiveCell.Value

            Reload = True

            For i = 0 To .ListCount - 1

                If InStr(j, .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 如何製作能夠複選的下拉選單?跟著步驟馬上完成!

7 thoughts on “【教學】Excel 如何製作能夠複選的下拉選單?跟著步驟馬上完成!

      1. 您好,將程式碼複製貼上,也將程式中有 ListBox1 的地方都更改為 ListBox2 了
        但偵錯編譯時,會表示找不到第二次複製貼上的 Worksheet_SelectionChange
        請問要如何解決

        1. 您好,將兩個ListBox的Worksheet_SelectionChange整合在一起,分別是With ListBox1…….End with 以及 With ListBox2……..End with 即可

  1. 您好,
    我使用vbCrLf代替分號來間隔多個選項,
    但會造成勾選後第一個選項前多出一行空白,
    程式碼需要如何修改?

  2. 您好,將程式碼複製貼上,也將程式中有 ListBox1 的地方都更改為 ListBox2 了
    但偵錯編譯時,會表示找不到第二次複製貼上的 Worksheet_SelectionChange
    請問要如何解決

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Scroll to top