Excel批量插入checkbox的宏代码

来源网络,作为个人记录使用

手动在excel中添加勾选框不复杂,但是添加多个的时候会很麻烦,特别是在做数据分析时,选择框属性应该绑定在对应单元格下,使用普通的填充方式无法到达要求,因此使用VBA宏命令批量添加.

 1 Sub 添加复选框()
 2 '标题'
 3 Application.ScreenUpdating = flase
 4 Dim rng1 As Range
 5 Dim rng2 As Range
 6 Application.ScreenUpdating = True
 7 Set rng2 = Application.InputBox("请选择需要添加复选框控件的单元格区域:", Type:=8) 
 8 '弹窗标题'
 9 Application.ScreenUpdating = False
10 rng2.NumberFormat = ";;;"
11 '使得所选单元格的格式为;;;,此情况下单元格不显示信息'
12 For Each rng1 In rng2
13 ActiveSheet.CheckBoxes.Add(rng1.Left, rng1.Top, rng1.Width, rng1.Height).Select
14 '根据选中的每个单元格的长宽高设置复选框大小并创建'
15 With Selection
16 '以下为复选框属性'
17 .Value = xlOff
18 .LinkedCell = rng1.Address
19 '绑定复选框数据到所在单元格,数值为true/flase,很重要'
20 .Display3DShading = False
21 .Characters.Text = ""
22 '复选框需要文字在这里添加'
23 End With
24 Next
25 Application.ScreenUpdating = True
26 End Sub

最终效果如图

 至于勾选框不居中的问题,需要调整长宽高,此处不做具体概述

posted @ 2024-02-29 16:18  IPJRI  阅读(521)  评论(0)    收藏  举报