怎么在excel单元格里设置选项可以多选?(超简单,亲测有效)
今天小编给大家分享的表格小技巧是:如何制作显示多列同时可以选择多项的下拉菜单?比如下图,显示三列下拉菜单,可以选择任意多个项目合并到一个单元格,步骤超级简单,小编亲测有效。
怎么在excel单元格里设置选项可以多选?
1、首先,咱们得有个数据表,用来填充选项菜单的数据。嗯,我们把这份工作表命名为“参数表”,数据如下图所示。A列是商品代码,B列是商品,C列是负责人。
2、然后,我们在需要制作选项菜单的工作表放一个列表框控件。
3、在【开发工具】选项卡下单击【插入】按钮,在弹出来的选项菜单中选择ActiveX控件列表框,画在当前工作表。位置随便,大小不论,丑美无关……毕竟这些你说了都不算,待会代码会重置。
需要说明的是,如果这是你在当前工作簿放置的第1个列表框控件,它会被系统默认名称为ListBox1。名字很重要,——下面的代码,我们都是通过名字来控制控件的一生的。
4、最后退出设计模式,也就是点击【开发工具】选项卡下的【设计模式】按钮。
5、OK,最后把以下代码复制粘贴到目标工作表的VBE编辑窗口即可。比如我们这里是粘贴到名称为“入库单”工作表。
代码如下:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column <> 2 Or Target.Row < 4 Then ListBox1.Visible = False: Exit Sub '如果选中的单元格不是第2列,或者小于4行,也就是不在目标范围内,则退出程序 If Target.Columns.Count > 1 Or Target.Rows.Count > 1 Then ListBox1.Visible = False: Exit Sub '如果选中的单元格大于1个,则退出程序 With Sheets("参数表") r = .Range("a1:c" & .Cells(Rows.Count, "a").End(xlUp).Row).Value End With With ListBox1 '调整位置到单元格处 .Top = Target.Top 'listbox的顶端位置 .Left = Target.Left + Target.Width 'listbox的左端位置 .Width = 250 '宽度 .Height = 150 '高度 .Visible = True '可见 '.ColumnHeads = True '显示标题行 .ColumnCount = 3 '三列 .ColumnWidths = "50;120;50" '设置第一列宽度50第二列宽度120…… .List = r '数据来源 .MultiSelect = fmMultiSelectMulti '允许通过鼠标点击的方式进行多选 .ListStyle = fmListStyleOption '选项按钮设置为方形 End With End Sub Private Sub ListBox1_Change() Dim i As Long, strMy As String With ListBox1 If .Selected(0) = True Then .Selected(0) = False '如果用户选取的是标题行那么撤销选取 For i = 1 To .ListCount - 1 '遍历listbox的记录,如果被选中则按换行符合并 If .Selected(i) = True Then strMy = strMy & vbCrLf & .List(i, 1) '取list的第二列 '无论列还是行的索引都是从0开始的,因此第二列为1 End If Next End With ActiveCell.Value = Mid(strMy, 3) '数据写入单元格 End Sub
代码组成说明
1、一部分是工作表的Worksheet_SelectionChange事件。当用户选择目标范围内的单元格时,显示设置列表框的位置、大小和数据。本例中列表框只出现在B列,且行数大于3的情况下。这个可以根据实际情况,自己进行修改。
2、另一部分是列表框的ListBox1_Change事件,当用户选择列表框的数据时,将数据写入单元格。相关代码都有注释。
相关文章
- excel中合并单元格快捷键是什么?excel合并单元格快捷键介绍
- excel变绿色如何改回白色,没有打开护眼模式?
- excel如何设置选项按钮?excel中设置选项按钮的方法
- word和excel有什么区别?word和excel区别分析
- excel选择填写内容怎么设置?
- excel表格如何导出高清图片?
- excel打印每页都有表头怎么设置?
- excel函数公式有哪些?excel函数公式大全加减乘除
- 打开excel提示无法访问文件,请尝试下列方法之一如何解决?
- excel数据透视表怎么做?excel操作及使用技巧
- Excel表格无法输入汉字怎么怎么办?Excel表格无法输入汉字解决方法
- excel表格怎样固定表头,每一页都有表头?
- excel表格斜线一分为二怎么弄?单元格斜线一分为二的操作步骤
- excel怎么改变单元格宽度?excel设置单元格宽度的方法
- 如何在Microsoft Excel上启用新的Copilot(预览版)?
- excel表格经常停止工作闪退怎么解决?
相关推荐
-
方方格子(Excel插件) V3.8.7.0 最新版
方方格子(Excel插件)是一款大型Excel工具箱软件,功能强大,包括了文本处理、批量录入、删除工具、合并转换、重复值工具、数据对比、高级排序等等在内的上百个实用功能,支持32位和64位Office,支持Excel2007至2019、365各版本。
-
2022年日历表全年版 V1.0 Excel版
2022年日历表是专为2022年准备的日历表,日历是全年高清的,当您需要进行日历打印时,可以直接下载使用,也可以直接载入Excel编辑器对日历进行编辑,此版本的日历带有公历、阳历、二十四节气、休假等信息,方便用户查看。快来下载吧!
-
EXCEL必备工具箱 V17.60 免费版
EXCEL必备工具箱是一个同时支持EXCEL WPS插件款并且自带免费多标签和导航的工具箱,智能识别当前是32 64位的EXCEL还是WPS,自动屏蔽WPS已有重复功能,额外增加WPS专用功能。此外,还提供了自动生成分析文档、财务比例计算等模版,来简化你的日常工作。
-
Excel合并器 V1.8.0 免费版
Excel合并器是一款Windows系统下的Excel文件和工作表合并工具软件,它支持批量合并Excel XLS XLSX文件格式和多种工作表格式文件(例如ODS, CSV, XML)成一个文件,或者合并多个工作表到一个工作表。用户也可以选择工作表的范围,可以决定是否合并全部工作表,还是只合并文件种一部分工作表。欢迎用户下载体验。
-
方方格子Excel工具箱 V3.8.0.0 官方版
方方格子是一款专为Excel打造的智能辅助工具。此软件功能强大,操作简单,支持撤销,支持DIY工具箱,涵盖文本处理、批量录入、删除工具、合并转换、重复值工具、数据对比、高级排序等等。采用搭积木式的操作方式,让用户可以轻松使用各种工具,极大的提高了数据处理效率。
-
excel万能百宝箱 V10.0 破解版
excel万能百宝箱包括61个菜单功能和25个自定义函数,集86个工具于一身,兼并了ExcelTabs工作薄多标签插件,全方位提升您的工作效率,是一款功能强大的Excel增强型插件。excel万能百宝箱所有功能都通用于2002、2003和2007,拥有选区转换、背景色随意换、快捷键取数等