Excel对单元格输入内容进行限制,同时限制内容可从弹窗中进行勾选,确保单元格输入内容的准确性;如:本列单元格内容从表一中勾选输入;按照单元格进行勾选,每个单元格内容使用","
连接;
创建VBA文件
需要在开发者模式下进行;点击开发工具
-Visual Basic
命令;
分别将下方excel中的窗体
,模块
,类模块
复制到新的excel表的VBAProject
中;完成后如下所示;
修改复选框选择数据范围
双击窗口,找到“表1”
字样,可更改表1的名称为源数据
的表格名称;
为需要使用复选框的Sheet添加代码
其中 所圈数字8
为执行的列;需要按需设置;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim rngDV As Range On Error Resume Next
Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation) On Error GoTo exitHandler
If rngDV Is Nothing Then GoTo exitHandler
Call ShowForm(Target) Cancel = True exitHandler: End Sub
Private Sub ShowForm(ByVal Target As Range)
Dim strList As String If Target.Column = 8 And Target.Validation.Type = 3 Then strList = Target.Value selectedValues = Split(strList, ", ") frmDVList.Show End If End Sub
|
为所需执行的列添加数据验证
为所需执行的列添加数据验证,数据验证范围为复选框选择数据范围的表,未修改的情况下为表1
执行
VBA若设置成功,在所需执行列,已设置数据验证的单元格中双击可唤醒复选菜单,复选的内容会使用,
隔开;
示例