来源网络,作为个人记录使用
手动在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
最终效果如图
至于勾选框不居中的问题,需要调整长宽高,此处不做具体概述
标签:checkbox,宏代码,单元格,Excel,复选框,Application,添加,ScreenUpdating,rng1 From: https://www.cnblogs.com/PJRAWA/p/18044593