利用VBA将多个单元格转为复选框

VBAMatrix 2024-10-25 21:29:04
引言

使用Excel设计调查问卷,经常会涉及到复选框的制作与使用。今天分享,如何利用VBA将选中的多个单元格转为复选框。

单元格转复选框GIF

实现思路

1.遍历选择区域的单元格,在每个单元格上增加一个复选框(CheckBoxes.Add方法),并填充至该单元格上;

2.同时,设置复选框的显示文本(Caption属性)为单元格的值,默认为选中状态(Value属性),名称(Name属性)为单元格的地址;

3.最后,清空选择区域每个单元格的内容(Range.ClearContents方法)。

VBA代码

Sub将多个单元格转为复选框()  Dim rng As Excel.Range  For Each rng In  Application.Selection  Dim cb As Excel.CheckBox  Set cb =  ActiveSheet.CheckBoxes.Add(rng.Left, rng.Top, rng.Width, rng.Height)  With cb  .Caption = rng.Value  .Value = True  .Name = rng.Address  End With  rng.ClearContents  Next  End Sub

0 阅读:11