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

在VBA中的验证列表中,从选定的值(而不是从第一个值开始)运行For Each循环

在VBA中,可以使用验证列表来限制用户在单元格中输入的值。当用户选择一个值时,我们可以通过运行For Each循环来处理选定的值。

首先,我们需要获取选定的单元格,并检查该单元格是否包含验证列表。可以使用以下代码来实现:

代码语言:txt
复制
Dim rng As Range
Set rng = Selection ' 获取选定的单元格

If rng.Validation.Type = xlValidateList Then
    ' 单元格包含验证列表
    ' 在这里编写处理选定值的代码
End If

接下来,我们可以使用Split函数将验证列表中的值拆分为一个数组。然后,我们可以使用For Each循环来遍历数组,并处理选定的值。以下是完整的代码示例:

代码语言:txt
复制
Dim rng As Range
Set rng = Selection ' 获取选定的单元格

If rng.Validation.Type = xlValidateList Then
    ' 单元格包含验证列表
    Dim listValues As Variant
    listValues = Split(rng.Validation.Formula1, ",") ' 将验证列表拆分为数组
    
    Dim selectedValue As Variant
    selectedValue = rng.Value ' 获取选定的值
    
    Dim found As Boolean
    found = False
    
    ' 遍历数组,查找选定的值
    For Each value In listValues
        If value = selectedValue Then
            found = True
            Exit For
        End If
    Next value
    
    If found Then
        ' 选定的值存在于验证列表中
        ' 在这里编写处理选定值的代码
    Else
        ' 选定的值不在验证列表中
        ' 在这里编写处理不合法值的代码
    End If
End If

在处理选定的值之后,您可以根据具体需求编写相应的代码。例如,您可以将选定的值存储到变量中,或者执行其他操作。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,我无法提供相关链接。但是,您可以通过访问腾讯云官方网站,查找与云计算相关的产品和服务。

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

相关·内容

领券