精华内容
下载资源
问答
  • excel设置下拉菜单多选 如何设置多选Excel下拉菜单 (How to Set up Multiple Selection Excel Drop Down) [Latest update: July 27, 2016] With a bit of Excel VBA programming, you can change an Excel data ...

    excel设置下拉菜单多选

    [Latest update: July 27, 2016] With a bit of Excel VBA programming, you can change an Excel data validation drop down list, so it allows multiple selections. This post is a roundup of articles on how to set up multiple selection Excel drop down lists.

    [最新更新:2016年7月27日]借助Excel VBA编程,您可以更改Excel数据验证下拉列表,因此可以进行多个选择。 这篇文章是有关如何设置多选Excel下拉列表的文章摘要。

    多选下拉菜单 (Multiple Selection Drop Downs)

    You can find a sample file and instructions, in a blog post that I wrote a couple of years ago – Select Multiple Items from Excel Data Validation List.

    您可以在几年前写的博客文章中找到示例文件和说明- 从Excel数据验证列表中选择多个项目

    There is a video in that post, that shows how the multiple selection options work, and a peek at the code that makes the multiple selections possible.

    该帖子中有一个视频,显示了多个选择选项的工作方式,并介绍了使多个选择成为可能的代码。

    设置工作簿 (Setting up the Workbook)

    Even though the post is a couple of years old, it still gets comments and questions. This week, Rick asked for details on setting up a new workbook, and copying the sample code into the new file. To help, I've recorded another video, showing the setup steps.

    尽管该帖子已有两年历史,但仍然收到评论和问题。 本周,Rick询问有关设置新工作簿并将示例代码复制到新文件中的详细信息。 为了帮助您,我录制了另一个视频,显示了设置步骤。

    演示地址

    有关选择多个项目的更多文章 (More Articles on Select Multiple Items)

    [Update]: Since posting this article on selecting multiple items from an Excel drop down list, I've added  more articles on the same topic. Please read these updates, for more details on working with the VBA code:

    [更新]:由于发布了有关从Excel下拉列表中选择多个项目的文章,因此我添加了更多关于同一主题的文章。 请阅读这些更新,以获取有关使用VBA代码的更多详细信息:

    更改宏代码 (Changing the Macro Code)

    If you need to change the column numbers in the code, there are instructions here. To run the code on a protected worksheet, see the notes here.

    如果您需要更改代码中的列号,请参见此处的说明 。 要在受保护的工作表上运行代码, 请参见此处的注释

    下载样本数据验证文件 (Download the Sample Data Validation File)

    To experiment with this technique, you can download the zipped sample file from the Contextures website, on the Excel Data Validation - Select Multiple Items page.

    若要试验此技术,可以从Contextures网站的“ Excel数据验证-选择多个项目”页上下载压缩的示例文件。

    获取高级版 (Get the Premium Version)

    There is a premium version of this technique, and you can see the details here: Data Validation Multi Select Premium. Instead of selecting from the drop down, a list box appears when you click the cell.

    该技术有一个高级版本,您可以在此处查看详细信息: 数据验证多选高级 。 单击该单元格时,会出现一个列表框,而不是从下拉列表中进行选择。

    It automatically selects any items that are already in the cell. It also has buttons to Clear all the selections, and select all the items.

    它会自动选择单元格中已经存在的所有项目。 它还具有清除所有选择并选择所有项目的按钮。

    The premium version works with dependent lists too, and runs on a protected worksheet. There is also an option of showing a multi-select listbox, or a single-select version (this is helpful when working with dependent lists -- you don't want multiple items selected in the main columns).

    高级版本也可用于从属列表,并在受保护的工作表上运行。 还有一个显示多选列表框或单选版本的选项(这在处理从属列表时很有用-您不希望在主列中选择多个项目)。

    The kit has 3 Excel files, and a user guide, with details and screen shots, on how to add this technique to your own workbooks. Click here for details: Data Validation Multi Select Premium. _____________

    该工具包包含3个Excel文件和一个用户指南,其中包含有关如何将此技术添加到您自己的工作簿中的详细信息和屏幕截图。 单击此处了解详细信息: 数据验证多选Premium 。 ______________

    翻译自: https://contexturesblog.com/archives/2011/04/29/how-to-set-up-multiple-selection-excel-drop-down/

    excel设置下拉菜单多选

    展开全文
  • 最近公司要做Excel的模板导出,导入数据的工作,导出时还要动态生成模板,并且生成单选下拉菜单,和多选下拉菜单。开始搞这个很快除了多选的都搞定了,就是多选卡住了。弄了很久。。。最后终于在和多方面的交流下...

    最近公司要做Excel的模板导出,导入数据的工作,导出时还要动态生成模板,并且生成单选下拉菜单,和多选下拉菜单。

    开始搞这个很快除了多选的都搞定了,就是多选卡住了。弄了很久。。。最后终于在和多方面的交流下成功弄出。

    之前在网上找不到方法很是头疼,现在弄出来分享一下给大家。。欢迎指教 效果文件

    在效果文件里K(根据需要可以隐藏)列就是str = Sheet1.Cells(1, 11)  要获取的值,其中6,7就是6列和7列

    具体思路是,java  POI 和带有VB的Excel模板结合。注意:Excel要支持VB

    1.先准备一个带有VB语言实现下拉菜单多选功能的Excel模板点击打开链接

    2.用java POI 读取这个模板文件,并把数据写入模板这个就不具体写了网上都有

    想要下拉菜单多选,要先有下拉菜单。

    Workbook workbook = null;
    try {
        workbook = WorkbookFactory.create(new File("C:\\Users\\LQS\\Desktop/test.xlsm")); //读取模板Excel文件,
    } catch (IOException e) {
        e.printStackTrace();
    } catch (InvalidFormatException e) {
        e.printStackTrace();
    }
    //创建一个标签页
    Sheet sheet = workbook.getSheetAt(0);//获取sheet

    DataValidationHelper dvHelper = sheet.getDataValidationHelper();
    XSSFDataValidationConstraint dvConstraint = (XSSFDataValidationConstraint) dvHelper
            .createExplicitListConstraint(strs);//strs下拉菜单的数据数组例如:String[] strs = {"A","B","C"}
    
    addressList = new CellRangeAddressList(1,endRow, i, i);// 第一个参数是开始行,第二个是结束行,第三个是开始列,第四个是结束列
    
    
    validation = dvHelper.createValidation(dvConstraint, addressList);
    
    //设置只能选下拉菜单里的值不能随便输入
     validation.setSuppressDropDownArrow(true); validation.setShowErrorBox(true);sheet.addValidationData(validation);

    VB 方法:

    Private Sub Worksheet_Change(ByVal Target As Range)   ' VB  workSheet 里自带的方法(Change)
    Dim str As String   ' 定义一个字符串用来获取复选框所在的列数
    str = Sheet1.Cells(1, 11)  ' 获取第1行第11列里的值(‘’根据自己的需要看放在那里合适‘’这个单元格里的数据就是你想要做成复选下拉菜单的列或多列)
    Dim vals() As String ' 定义一个字符窜数组 
    vals = Split(str, ",")   ' 获取到的数是多个复选框进行切分例如:6,7,8
    Dim Oldvalue As String  ' 复选框单元格旧数据
    Dim Newvalue As String ' 你选的新数据
    Application.EnableEvents = True
    On Error GoTo Exitsub
    For i = 0 To UBound(vals)  ' 循环遍历vals数组
        If Target.Column = vals(i) Then  ' 复选框所在的列
          If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
            GoTo Exitsub
          Else: If Target.Value = "" Then GoTo Exitsub Else
            Application.EnableEvents = False
            Newvalue = Target.Value
            Application.Undo
            Oldvalue = Target.Value
              If Oldvalue = "" Then
                Target.Value = Newvalue
              Else
                If InStr(1, Oldvalue, Newvalue) = 0 Then   ' 去重,
                    Target.Value = Oldvalue & ", " & Newvalue  ' 如果不重复是新的就用‘,’拼接
              Else:
                Target.Value = Oldvalue ' 如果重复还是原来的值
              End If
            End If
          End If
        End If
    Next
    Application.EnableEvents = True
    Exitsub:
    Application.EnableEvents = True
    End Sub

    展开全文
  • Excel 下拉多选的设置

    2021-04-12 17:06:19
    先在某列利用数据有效性-建立下拉菜单表。 在下拉表所打开的sheet中(如sheet1),鼠标右击下面的工作表。选择“查看代码”,就可打开VBA编辑界面。复制下面的代码,代码中有详细注释 Private Sub Worksheet_Change...
    1. 试用office版的Excel
    2. 先在某列利用数据有效性-建立下拉菜单表。
    3. 在下拉表所打开的sheet中(如sheet1),鼠标右击下面的工作表。选择“查看代码”,就可打开VBA编辑界面。复制下面的代码,代码中有详细注释
    Private Sub Worksheet_Change(ByVal Target As Range)
    ' Developed by Contextures Inc.
    ' www.contextures.com
    Dim rngDV As Range
    Dim oldVal As String
    Dim newVal As String
    If Target.Count > 1 Then GoTo exitHandler
    
    On Error Resume Next
    Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation)
    On Error GoTo exitHandler
    
    If rngDV Is Nothing Then GoTo exitHandler
    
    If Intersect(Target, rngDV) Is Nothing Then
       'do nothing
    Else
      Application.EnableEvents = False
      newVal = Target.Value
      Application.Undo
      oldVal = Target.Value
      Target.Value = newVal
      If (Target.Column = 4 Or Target.Column = 9) Then '这里规定好哪一列的数据有效性是多选的,A列是第1列,依次类推,如3就是C列,7就是G列 如果想某几列下拉用 or 隔开
        If oldVal = "" Then
          'do nothing
          Else
          If newVal = "" Then
          'do nothing
          Else
            If InStr(1, oldVal, newVal) <> 0 Then  '重复选择视同删除
              If InStr(1, oldVal, newVal) + Len(newVal) - 1 = Len(oldVal) Then '最后一个选项重复
                Target.Value = Left(oldVal, Len(oldVal) - Len(newVal) - 1)
              Else
                Target.Value = Replace(oldVal, newVal & ",", "") '不是最后一个选项重复的时候处理逗号
              End If
            Else '不是重复选项就视同增加选项
            Target.Value = oldVal & "," & newVal
    '      NOTE: you can use a line break,
    '      instead of a comma
    '      Target.Value = oldVal _
    '        & Chr(10) & newVal
            End If
          End If
        End If
      End If
    End If
    
    exitHandler:
      Application.EnableEvents = True
    End Sub
    
    展开全文
  • 1.选中Excel中任意一个单元格。 2.在上方菜单栏依次选择:数据->数据验证 3. 在设置选项卡中,设置允许的值为"序列",来源分别设置为自己需要的序列。注意序列之间必须用英文逗号隔开。 4. 最终结果: ....

    1.选中Excel中任意一个单元格。

    2.在上方菜单栏依次选择:数据->数据验证

    3. 在设置选项卡中,设置允许的值为"序列",来源分别设置为自己需要的序列。注意序列之间必须用英文逗号隔开

    4. 最终结果:

    展开全文
  • EXCEL下拉菜单制作

    2011-08-04 15:21:15
    多选下拉菜单,找了好久的东西了. 不是数据有效性实现的单选,而是用VBA做出的多选. 比如做一个东西会选用不同的材料,每次用的也不同..
  • excel表格填写到网页

    2017-09-18 00:32:05
    网页 自动填写 excel数据 可自动分析网页中表单已经填写的内容,保存为填表规则,使用时,只需调用此规则便可自动填写表单、点击网页元素,抓取网页文本内容、下载...★支持级联下拉菜单的填写 ★支持无ID控件的填写
  • Excel应用程序界面

    2007-05-22 09:36:00
    Excel下运用VBA创建窗口作为数据输入界面将简化Excel的数据输入工作。 对于需要多项输入的Excel工作表而言,...对于多选一的项,可以用“复合框”也就是下拉菜单来完成,通过点击复合框的倒三角形,可以看到所...
  • Excel 技巧收集

    2015-01-21 10:46:45
    F1:help文档 1. F8:类似shift键,但是不用按住不放,块选。 2. shift + F8:类似Ctrl键,但是不用按住不放,多选...3. 下拉列表:选中要设置的单元格区域 》 菜单栏数据项 》 数据工具 》 数据有效性。win7 4. 冻结
  • 网页批量填写数据提取软件,可自动分析网页中表单已经填写的内容,保存为填表规则,使用时,只需调用此规则便可自动填写表单、点击网页元素,抓取网页文本内容、下载...★支持级联下拉菜单的填写 ★支持无ID控件的填写
  • Excel VBA实用技巧大全 附书源码

    热门讨论 2010-10-08 18:59:24
    01074显示Excel默认的菜单栏和工具栏 01075执行菜单栏和工具栏的命令按钮 01076改变工作表单元格的快捷菜单 01077在工作表的任意位置快速显示快捷菜单 01078在单元格中输入公式 01079在单元格中输入数字 01080在...
  • 风越网页批量填写数据提取软件,可自动分析网页中表单已经填写的内容,保存为填表规则,使用时,只需调用此规则便可自动填写表单、点击网页元素,抓取网页文本内容、下载...支持级联下拉菜单的填写 支持无ID控件的填写
  • 风越网页表单批量自动填写工具可自动分析网页中表单已经填写的内容,保存为填表规则,以后填表时,只需调用此规则即可。...支持级联下拉菜单的填写 支持无ID控件的填写 风越网页表单批量自动填写工具截图
  • JavaScript网页特效范例宝典源码

    千次下载 热门讨论 2013-09-04 10:40:38
    实例065 应用下拉菜单选择所要联机的网站 108 实例066 多级级联菜单 110 实例067 可以输入文字的下拉菜单 111 实例068 根据下拉菜单的值显示不同控件 112 实例069 分级下拉列表 113 2.3 单选按钮组 114 实例070 不...
  • 8.7 为链接提供下拉菜单 8.8 按钮链接 8.9 弹出鼠标所指的链接地址 8.10 链接的注释 8.11 为超链接同时绑定单击和双击事件 8.12 带链接的滚动字幕 8.13 会跳舞的链接 8.14 检测站点的连接速度 8.15 文本链接的渐变...
  • 8.7 为链接提供下拉菜单 8.8 按钮链接 8.9 弹出鼠标所指的链接地址 8.10 链接的注释 8.11 为超链接同时绑定单击和双击事件 8.12 带链接的滚动字幕 8.13 会跳舞的链接 8.14 检测站点的连接速度 8.15 文本链接的渐变...
  • 菜单设置多选并且不关闭 仿QQ右键菜单 悬停菜单 QAxWidget 显示Word、Excel、PDF文件 QSplitter 分割窗口的分割条重绘 QSerialPort 串口调试小助手 QProxyStyle Tab文字方向 QMessageBox 消息...
  • 实例238 如何在DBGrid组件单元格中增加下拉菜单 实例239 如何定制StringGrid组件指定单元格的颜色 实例240 如何获取StringGrid组件鼠标指定单元格的值 实例241 如何使用StringGrid组件显示数据库查询结果 实例...
  • DateTime-Range下拉增加 popoverClassName 属性,可以自定义弹框的 className; 父级有缩放比时弹框宽度计算问题修复; Date 快捷键支持上月底 autoFill 支持多选 CRUD 的 toolbar 默认不再将最后一个组件放右边 ...
  • 第一部分 界面设计

    2013-10-22 23:10:34
    实例238 如何在DBGrid组件单元格中增加下拉菜单 实例239 如何定制StringGrid组件指定单元格的颜色 实例240 如何获取StringGrid组件鼠标指定单元格的值 实例241 如何使用StringGrid组件显示数据库查询结果 实例...
  • 实例238 如何在DBGrid组件单元格中增加下拉菜单 实例239 如何定制StringGrid组件指定单元格的颜色 实例240 如何获取StringGrid组件鼠标指定单元格的值 实例241 如何使用StringGrid组件显示数据库查询结果 实例...
  • 实例238 如何在DBGrid组件单元格中增加下拉菜单 实例239 如何定制StringGrid组件指定单元格的颜色 实例240 如何获取StringGrid组件鼠标指定单元格的值 实例241 如何使用StringGrid组件显示数据库查询结果 实例...
  • 实例091——基本下拉菜单的创建与消息响应 实例092——启用、禁用菜单项 实例093——实现单选标记菜单 实例094——动态添加、删除菜单项 实例095——创建带有图标的菜单 实例096——创建弹出式菜单 实例097...
  • 实例091——基本下拉菜单的创建与消息响应 实例092——启用、禁用菜单项 实例093——实现单选标记菜单 实例094——动态添加、删除菜单项 实例095——创建带有图标的菜单 实例096——创建弹出式菜单 ...
  • C++范例大全(400)

    2013-06-29 21:23:07
    实例091——基本下拉菜单的创建与消息响应 实例092——启用、禁用菜单项 实例093——实现单选标记菜单 实例094——动态添加、删除菜单项 实例095——创建带有图标的菜单 实例096——创建弹出式菜单 实例097...
  • 实例091——基本下拉菜单的创建与消息响应 实例092——启用、禁用菜单项 实例093——实现单选标记菜单 实例094——动态添加、删除菜单项 实例095——创建带有图标的菜单 实例096——创建弹出式菜单 实例097...
  • VC++6.0示例程序光盘

    热门讨论 2012-03-18 13:40:03
    实例091——基本下拉菜单的创建与消息响应 实例092——启用、禁用菜单项 实例093——实现单选标记菜单 实例094——动态添加、删除菜单项 实例095——创建带有图标的菜单 实例096——创建弹出式菜单 实例097...
  • 实例030 下拉菜单 实例031 解释型菜单 实例032 自动隐藏式菜单 3.5 窗口控制 实例033 打开新窗口显示广告信息 实例034 自动关闭的广告窗口 实例035 居中显示弹出的窗口 实例036 打开新窗口显示详细信息 实例037 弹...

空空如也

空空如也

1 2 3
收藏数 44
精华内容 17
关键字:

excel下拉菜单多选