小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

什么?多選下拉菜單!安排得妥妥滴!|Excel174

 我愛學(xué)Excel 2023-08-22 發(fā)布于湖北
最近在回答小伙伴問題的時(shí)候,發(fā)現(xiàn)大家已經(jīng)不滿足于簡(jiǎn)單的單選下拉菜單了,有小伙伴提出如何制作多選下拉菜單,這是個(gè)極好的問題啊,今天就來(lái)幫忙答疑解惑。

圖片

如上圖所示,興趣愛好一列可以選擇多個(gè)選項(xiàng),并且選擇后自動(dòng)填入單元格,每個(gè)選項(xiàng)之間用分號(hào)自動(dòng)分隔,選擇單元格時(shí)右側(cè)自動(dòng)彈出下拉菜單。

要實(shí)現(xiàn)這個(gè)效果,自然不是簡(jiǎn)單的Excel界面操作就能完成的,需要使用到控件和VBA代碼。不過別擔(dān)心,代碼準(zhǔn)備好了,只要大家按照步驟操作,準(zhǔn)保可以實(shí)現(xiàn)。

一、插入列表框

選擇【開發(fā)工具】選項(xiàng)卡,點(diǎn)擊【插入】,選擇列表框,具體操作參見動(dòng)圖演示:

圖片


二、復(fù)制粘貼代碼

工作表標(biāo)簽右擊鼠標(biāo),選擇查看代碼,粘貼下面的代碼。具體操作參見動(dòng)圖演示:

圖片

代碼如下:

Private Sub ListBox1_Change()

    If Reload Then Exit Sub

    For i = 0 To ListBox1.ListCount - 1

        If ListBox1.Selected(i) = True Then t = t & ";" & Trim(ListBox1.List(i))

    Next

    ActiveCell = Mid(t, 2)

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    With ListBox1

        If ActiveCell.EntireRow.Range("a1") <> "" And ActiveCell.Column = 5 And ActiveCell.Row > 1 Then

            t = ActiveCell.Value

            Reload = True

            For i = 0 To .ListCount - 1

                If InStr(t, .List(i)) Then

                    .Selected(i) = True

                Else

                    .Selected(i) = False

                End If

            Next

            Reload = False

            .MultiSelect = fmMultiSelectMulti

            .ListStyle = fmListStyleOption

            .ListFillRange = "sheet2!a2:a" & Sheet2.Cells(1, 1).End(xlDown).Row

            .Top = ActiveCell.Offset(0, 1).Top

            .Left = ActiveCell.Offset(0, 1).Left

            .Width = ActiveCell.Width

            .Height = ActiveCell.Height * 6

            .Visible = True

        Else

            .Visible = False

        End If

    End With

End Sub



三、測(cè)試運(yùn)行

點(diǎn)擊【開發(fā)工具】選項(xiàng)卡,取消設(shè)計(jì)模式,嘗試一下菜單是否可以正常顯示。

圖片

四、代碼調(diào)整

這里的菜單應(yīng)用在Sheet1工作表中的E列,其它列點(diǎn)擊鼠標(biāo)是沒有這個(gè)效果的。并且菜單列表放置在另外一個(gè)工作表Sheet2的A列。

圖片


如果大家的工作表名稱和列位置與案例不一致,就需要對(duì)代碼做微調(diào),調(diào)整方法如下:

圖片

① IF 語(yǔ)句需要滿足三個(gè)條件。第一個(gè)是活動(dòng)單元格所在行的第一個(gè)單元格不為空,第二個(gè)是活動(dòng)單元格所在列為第五列,第三個(gè)條件是活動(dòng)單元格所在的行大于1,只有這三個(gè)條件同時(shí)滿足才能應(yīng)用下拉菜單。

如果大家下拉菜單應(yīng)用的位置和案例不同,需要進(jìn)行相應(yīng)的調(diào)整。

② 這里用來(lái)設(shè)置下拉菜單的數(shù)據(jù)源。工作表2的a2單元格到最后一個(gè)非空單元格,如果你的工作表不是sheet2,數(shù)據(jù)源的范圍也不同,也是要做相應(yīng)調(diào)整的。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多