首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用于数据验证的Excel VBA代码,可在一个单元格中进行多项选择-用于多列

数据验证的Excel VBA代码可以使用下面的方式实现多项选择:

代码语言:txt
复制
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range
    Dim cell As Range
    Dim selectedValues As String
    
    ' 定义数据验证范围
    Set rng = Range("A1:A10")
    
    ' 检查是否在数据验证范围内发生了变化
    If Not Intersect(Target, rng) Is Nothing Then
        ' 清除目标单元格的数据验证
        Target.Validation.Delete
        
        ' 遍历数据验证范围内的每个单元格
        For Each cell In rng
            ' 检查单元格是否被选中
            If cell.Value <> "" Then
                ' 将选中的值添加到字符串中
                selectedValues = selectedValues & cell.Value & ","
            End If
        Next cell
        
        ' 去除字符串末尾的逗号
        selectedValues = Left(selectedValues, Len(selectedValues) - 1)
        
        ' 设置目标单元格的数据验证为选中的值
        With Target.Validation
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:=selectedValues
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
        End With
    End If
End Sub

这段代码是一个工作表的事件处理程序,当数据验证范围内的单元格发生变化时,会自动更新目标单元格的数据验证选项。具体实现步骤如下:

  1. 定义数据验证范围,这里假设是A1:A10。
  2. 检查是否在数据验证范围内发生了变化。
  3. 清除目标单元格的数据验证。
  4. 遍历数据验证范围内的每个单元格。
  5. 检查单元格是否被选中,如果是则将选中的值添加到字符串中。
  6. 去除字符串末尾的逗号。
  7. 设置目标单元格的数据验证为选中的值。

这样,当数据验证范围内的单元格发生变化时,目标单元格的数据验证选项会自动更新为选中的值。

这段代码可以应用于多列数据验证,只需将数据验证范围修改为多个列的范围即可。

腾讯云相关产品中,可以使用腾讯文档(https://cloud.tencent.com/product/tcd)来实现类似的功能。腾讯文档是一款在线协作文档工具,可以创建表格、设置数据验证等功能,支持多人实时协作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

38秒

光学雨量计关于灵敏度的设置

1分4秒

光学雨量计关于降雨测量误差

2分29秒

基于实时模型强化学习的无人机自主导航

5分33秒

JSP 在线学习系统myeclipse开发mysql数据库web结构java编程

3分59秒

基于深度强化学习的机器人在多行人环境中的避障实验

1分21秒

JSP博客管理系统myeclipse开发mysql数据库mvc结构java编程

1分16秒

振弦式渗压计的安装方式及注意事项

领券