EXCEL--如何做多选对话框

打开excel应用程序

右键sheet1->查看代码

EXCEL--如何做多选对话框_第1张图片

右键空白处->插入->用户窗体

EXCEL--如何做多选对话框_第2张图片

弹出下图

EXCEL--如何做多选对话框_第3张图片

向面板上放4个复选框也就是checkbox,两个button就是按钮,就是工具箱中的下图两个红线圈出来的

EXCEL--如何做多选对话框_第4张图片

直接拖拽到userform1上即可,拖完如下

EXCEL--如何做多选对话框_第5张图片

给添加的这些控件改名字:选中checkbox1过两秒之后再点击checkbox1,删除原来的名字“checkbox1” 输入“A”

剩下的几个一样改完名字之后如下图

EXCEL--如何做多选对话框_第6张图片

接下来就开始写代码了

双击确定按钮弹出如下图

EXCEL--如何做多选对话框_第7张图片

 

 我们要实现的目标就是实现多选,点击确定后被勾选的内容显示到单元格中

那么用代码来实现就是点击确定之后,

         用代码来检查四个checkbox,将被勾选的选项内容连起来,我们用容器j来装勾选的内容,发现是被勾选的就加到j中

一共有四个复选框,它先检查第一个,如果为空的话说明没被勾选那么j就还是j,如果不为空的话将复选中的名字A或B或C或D存到j中,四个都检查完之后最后放到单元格内,关闭控件

 

具要写的代码

新增代码如下图

 

EXCEL--如何做多选对话框_第8张图片

 

(点击取消的目的就是不想选了,关闭对话框

这里当点击取消时先弹出提示“确定取消?”

点击“是”,就彻底关闭控件,点击“否”,控件保留)

开始写代码了:再双击“取消”按钮,先显示如下代码

增加代码后如下

 

(接下来还有代码要写

就是选中国哪些单元格它才弹出多选对话框呢,而且只有单元格为空时我们才触发控件,单元格中有值就不触发了这是放在单元格上的条件

假如我们想在sheet1表中的第一列实现这个功能

也就是如果我们选中sheet1中的第一列中的某个单元格,如果这个单元格为空那么就触发多选控件,供我们选择)

开始写代码了:右键sheet1表,选择查看代码

显示空白代码区

EXCEL--如何做多选对话框_第9张图片

点击通用下拉框,选择worksheet

自动变成如下

 

增加代码后变成

EXCEL--如何做多选对话框_第10张图片

  这时我们回到sheet1中,任选第一列的任意单元格就是弹出多选控件如下图:

EXCEL--如何做多选对话框_第11张图片

勾选ABC后点击“确定”,ABC被选到单元格中

EXCEL--如何做多选对话框_第12张图片

 

大功告成

 最后我们在保存文件时一定要保存成如下格式的

 

你可能感兴趣的:(office,excel,vba,控件,CheckBox,对话框)