Excel VB脚本,下拉框多选

article/2025/9/17 23:49:29

 

1.数据-数据验证,先做出单选效果

     在弹出的数据验证窗口选择   序列,然后选择下拉的数据来源

2.开发者工具-VisualBasic 

     在打开的窗口里面,选择需要下拉的sheet页,然后双击sheet,打开VB的脚本窗口

在窗口输入一下。

3.开发者工具-宏-宏安全性  启用所有宏。

 

Option Explicit

Sub Worksheet_Change(ByVal Target As Range)
'让数据有效性选择 可以多选,重复选
Dim rngDV As Range
Dim oldVal As String
Dim tVal 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
tVal = ""
If oldVal = "" Then
Else
    If newVal = "" Then
    Else
        If InStr(1, "," & oldVal & ",", "," & newVal & ",") <> 0 Then '已存在
            tVal = Replace(Replace(oldVal & ",", newVal & ",", ""), ",,", ",")
            If InStr(Len(tVal), tVal, ",") <> 0 Then '判断最后一位是否逗号,是则不要最后一位
                tVal = Left(tVal, Len(tVal) - 1)
            End If
            Target.Value = tVal
        Else
            Target.Value = oldVal & "," & newVal
        End If
    End If
End If
End If

exitHandler:
Application.EnableEvents = True
End Sub
 


http://chatgpt.dhexx.cn/article/d6mjHlB5.shtml

相关文章

office中excel设置下拉框多选

我参照了这篇文章 https://www.php.cn/topic/excel/444717.html 这篇文章整体写得不错&#xff0c;但是有些小瑕疵 问题1&#xff1a;在模块1中保存。 这里并没有说清楚 具体是&#xff1a;VBA编辑器中--插入---模块 然后复制以下代码 Public ReLoad As Boolean 开关listb…

Excel怎么下拉框多选

打开Exlce&#xff0c; 确定&#xff0c;然后 右击查看代码&#xff0c;把这段代码复制到新建的文件里面 此时Excel会给出提示&#xff0c;选择否&#xff0c;&#xff0c;系统会提示保存&#xff0c;在保存的时候选择启用宏的工作簿然后保存&#xff0c;此时Excel下拉框多选就…

关于EXCLE 下拉框多选的设置

关于EXCLE 下拉框多选的设置。 本文转载于&#xff1a;https://www.cnblogs.com/boosasliulin/p/5970120.html 本文转载于&#xff1a;https://blog.csdn.net/qq_33269520/article/details/81173811 打开Exlce&#xff0c;设置数据有效性 确定&#xff0c;然后 右击查看代码…

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

excel下拉框多选打勾的设置方法 一、显示“开发工具”选项卡。打开Excel2010,点击左上方“文件”图标。点击“选项”,弹出“Excel选项”对话框,在“自定义功能区”中勾选“开发工具”,点击确定。 二、设置下拉列表的选项内容。将工作表sheet2名称修改为“data”,并在A列输入…

Excel 设置下拉框多选

问题描述 Excel的下拉框无法多选 解决办法 为Excel文件添加VB代码&#xff0c;文件后缀需由.xlsx变为.xlsm&#xff0c;否则仍无法实现该功能 操作步骤 ① 选中当前Sheet ② 右键选择查看代码 ③ 将代码复制进去 ④ 再将文件保存为.xlsm格式的即可 附代码如下 Option Exp…

Excel下拉框多选(支持再次选择已选项会取消选择)

比如我做一个表格&#xff0c;其中一项是“部门类型”&#xff0c;这一项中&#xff0c;选项有&#xff1a;财务部&#xff0c;人事部&#xff0c;开发部&#xff0c;销售部 用户在选择的时候&#xff0c;可以选择&#xff1a;人事部&#xff0c;开发部 那么在“部门类型”这个…

Excel下拉框设置多选

Excel下拉框一般只能单选&#xff0c;但有时候需要多选&#xff0c;多选的方法如下&#xff1a; 以office 2016中的excel为例&#xff1a; 1、数据验证入口 2、设置数据 3、sheet页右击查看代码 4、复制下面代码进去&#xff1a; 5、效果如下&#xff1a; VB代码如下&#xf…

【已解决】如何做excel表的下拉框多选

最近因为项目需求&#xff0c;要制作一个excel导入的模板&#xff0c;模板中要求某几列的下拉框是多选的。。不得不临时研究了一下vba。其间各种心酸不多说。。。。。。 首先&#xff0c;这个是需要启用宏&#xff0c;在vb编辑器里写代码&#xff0c;所以你要确保你的excel是可…

Excel表格实现下拉复选框多选

Excel表格实现下拉复选框多选 文章目录 1准备数据源2开启“开发工具”3具体实现3.1插入列表框控件3.2设置列表框控件属性3.3编辑VBA代码实现功能3.4调试运行 1准备数据源 打开要实现的excel表格&#xff0c;将选项数据放到sheet2 2开启“开发工具” 开启“开发工具”步骤&…

【C语言】用循环语句输出菱形

//用循环语句输出菱形 #include <stdio.h> int main() {int i,j;for(i0;i<3;i) //上4行{for(j0;j<3;j) //上4行的左边{if(ij<2)printf(" ");elseprintf("*");}for(j4;j<6;j) //上4行的右边{if(j-i>4)printf(" ");…

用c语言输出一个菱形

这是一道课后题作业&#xff0c;针对菱形的空格我使用了" "的输出方式&#xff0c;应该还有更好的方法&#xff1f;是不是还有格式化字符能直接居中对正&#xff1f;待思考。 代码如下&#xff1a; #include<stdio.h>int main(){int i, j, k, a;printf("…

C语言输出菱形不是梦

如果对其他经典算法感兴趣&#xff0c;可以点击我的主页&#xff0c;有惊喜哟 给大家看看咱的诚意&#xff1a; 先来个流程图&#xff08;虽然只写了一半&#xff0c;但是下面的一半比猫画虎就行&#xff09; 废话不多说上代码&#xff08;欢迎交流哟&#xff09;&#xff1a…

[C语言]——利用循环输出菱形

题目要求如下&#xff1a; 用C语言输出以下图形&#xff1a;*************************************************************************************总体思路&#xff1a; 将菱形拆分开&#xff0c;一行一行看。 前七行是由递减的空格和递增符号组成&#xff0c; 后六行是由…

【C语言】输出“*”菱形图案

问题&#xff1a;在屏幕上输出一个菱形图案   目标图案&#xff1a;      实现思路&#xff1a;   由目标图案可知&#xff1a;该图案共有13行&#xff0c;每行除了有“&#xff0a;”外&#xff0c;第一个“&#xff0a;”之前还包括空格。我们可以把整个图案分为…

【c++】C语言之输入行数,输出实心菱形和空心菱形

输出菱形 编程自动输出如下图形&#xff0c;由屏幕输入指定行数&#xff08;奇数&#xff09;&#xff0c;实现后封装为函数&#xff0c;以行数作为参数值。 输入一个n,表示左边两个菱形图形&#xff08;实心和空心&#xff09;的行数&#xff08;或者一半行数&#xff09; 利…

<C语言程序实例>C语言实现菱形输出

<C语言程序实例>C语言实现菱形输出 前言 这一问题无论是在C语言还是别的编程语言的入门学习中都会遇到&#xff0c;还是比较常见的&#xff0c;要学一下的。 一、菱形 我们先要看一下我们要输出的菱形是什么样子的。这里举一个例子简单说明一下: 大家首先要知道一点…

C语言之打印菱形

小编最近在刷题的时候遇到很多使用循环的题目&#xff0c;对于这类题目&#xff0c;小编思维逻辑有时候也会很迷&#xff0c;现在来分享一下经典的案列&#xff0c;帮助大家锻炼一下逻辑 打印如图所示的菱形 通过研究分析&#xff0c;菱形可以分为上三角部分和下三角部分 那我…

c语言:输出一个菱形图案

输出图案样式如下&#xff1a; 方法&#xff1a;运用循环内嵌循环。通过看每一行空格与星号的关系来确定循环&#xff0c;外面加个循环&#xff0c;里面内嵌两个循环。 #include<stdio.h> int main() {int i, j, k;for (i 0; i < 3; i){for (j 0; j < 2 - i; j…

【C语言】利用循环输出菱形

输出菱形的思想主要是用了等差数列 an a1 (n - 1) * d 来求每个循环的约束条件&#xff1b; 一个完整的菱形必须是由空格 、星形 来组成&#xff0c;切分为两部分。 题目效果如下: //要求输出如下图形************* 代码如下: #include "stdio.h" int main(){…

C语言——用“*”输出一个菱形

如何输出如图所示的菱形 先要将菱形分为上下两个三角形&#xff08;例如图示&#xff0c;上为7行的正三角&#xff0c;下为6行的倒三角&#xff09;&#xff0c;接下来通过两个循环分别输出这两部分。首先设置变量line代表上行数&#xff0c;通过键盘输入&#xff0c;接着设置三…