您的位置 首页 技术

excel下拉框多选打勾的设置方法

excel下拉框多选打勾的设置方法 一、显示“开发工具”选项卡。打开Excel2010,点击左上方“文件”图标。点击“选项”,弹出“Excel选项”对话框,在“自定义功能区”中勾选…

excel下拉框多选打勾的设置方法

一、显示“开发工具”选项卡。打开Excel2010,点击左上方“文件”图标。点击“选项”,弹出“Excel选项”对话框,在“自定义功能区”中勾选“开发工具”,点击确定。

推荐:《excel教程》

fb1769c8155a8e4eacd91e2be8c1fb7.png

8e73e4d116dbc2c1909757a130d0198.png

二、设置下拉列表的选项内容。将工作表sheet2名称修改为“data”,并在A列输入下拉选项。

6e837efa731eaf992437fdac06d2049.png

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

1) 在工作表sheet1中,选择A列,点击“开发工具”选项卡,选择“插入”里的“列表框”,放置到A列中。

2) 选中列表框控件,点击“设计模式”,在设计模式下点击“属性”,弹出ListBox属性框,选择“按分类序”。修改MultiSelect项为“1 – fmMultiSelectMulti”,修改ListStyle项为“1 – fmListStyleOption”,设置ListFillRange项为所选菜单选项所在的表格名称和单元格范围,具体格式为“data!A1:A8”。

905549000b0bc7713a8a695bde413bf.png

四、插入代码。 在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 SubPrivate 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 WithEnd Sub

0889c0d8dc4111dc35fee164f288424.png

在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).RowEnd Sub

219a2cfb78474b57ee00fab8da2b1d5.png

将代码保存后,关闭VB编辑器,在sheet1工作表中,点击A列单元格,结果如下图所示。

在模块1中保存:

Public ReLoad As Boolean '开关listbox的change事件

15fdaf183b3faa0f66f0fcdfbf74fb9.png

以上就是excel下拉框多选打勾的设置方法的详细内容,更多请关注24课堂在线网其它相关文章!

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/50701.html

为您推荐

返回顶部