Excel 设置下拉框多选

article/2025/9/18 1:50:18

问题描述

Excel的下拉框无法多选

解决办法

为Excel文件添加VB代码,文件后缀需由.xlsx变为.xlsm,否则仍无法实现该功能

操作步骤

① 选中当前Sheet

② 右键选择查看代码

③ 将代码复制进去

④ 再将文件保存为.xlsm格式的即可

附代码如下


Option ExplicitSub Worksheet_Change(ByVal Target As Range)Dim rngDV As Range
Dim oldVal As String
Dim newVal As String
If Target.Count > 1 Then GoTo exitHandlerOn Error Resume Next
Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation)
On Error GoTo exitHandlerIf rngDV Is Nothing Then GoTo exitHandlerIf Intersect(Target, rngDV) Is Nothing Then
Else
Application.EnableEvents = False
newVal = Target.Value
Application.Undo
oldVal = Target.Value
Target.Value = newVal
If oldVal = "" Then
Else
If newVal = "" Then
Else
If InStr(oldVal, newVal) = 0 Then
Target.Value = oldVal _
& "," & newVal
ElseEnd If
End If
End If
End If
exitHandler:
Application.EnableEvents = TrueEnd Sub


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

相关文章

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

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

Excel下拉框设置多选

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

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

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

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

Excel表格实现下拉复选框多选 文章目录 1准备数据源2开启“开发工具”3具体实现3.1插入列表框控件3.2设置列表框控件属性3.3编辑VBA代码实现功能3.4调试运行 1准备数据源 打开要实现的excel表格,将选项数据放到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;接着设置三…

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

c语言&#xff1a;输出一个菱形图案&#xff01; 给定一个正的奇数n,要求输出一个高为n的正菱形&#xff0c; 如上图所示&#xff0c;是一个11行高的菱形。 怎么设计&#xff1a; 首先把这个图分成三个部分&#xff1a; 1&#xff0c;上半部分 2.中间最长的一部分 3.下半部分…

编写C语言程序 输出一个菱形

用C语言程序实现打印出一个菱形&#xff0c;观察菱形&#xff0c;它的每一行前面会有空格&#xff0c;要打印菱形&#xff0c;首先要算出空格多少的规律&#xff0c;以及每行*的数目&#xff0c;把菱形分为上下两部分打印&#xff0c;上半部分规律&#xff1a;观察最长的一行&a…

C语言输出菱形

咱们输出的是一个13行的菱形&#xff0c;可以分成两部分&#xff0c;第一部分7行星星逐渐增多的&#xff0c;第二部分6行星星逐渐减少&#xff0c;所以代码也可以分成两部分。第一部分是星星最多13个 每次增加两个星星 减少一个空格 &#xff0c;第二部分是星星最多11个&#x…

使用C语言输出菱形详解

// Written by Harry一、思维过程 观察要输出的形状 --- 确定大体思路 --- 转化为数学模型 --- 将问题逐个击破二、完整代码&#xff08;以7*7菱形为例&#xff09; #include <stdio.h>int main() {int i,j,k; //定义菱形行数i、每行输出次数j、每行中输出空格计数器kf…

输出一个菱形(C语言)

输出一个菱形(C语言) 文章目录 输出一个菱形(C语言)说明效果展示代码实现一点说明 说明 当你再键盘上输入一个奇数a时(若输入偶数则自动减1),则会再屏幕上显示腰长为a的菱形(由*组成). 效果展示 代码实现 有兴趣的可以将以下代码复制到自己的编译器当中运行&#xff1a; #i…