如果它们在数值范围内,如何清除VBA中的单元格内容

时间:2019-06-25 20:59:14

标签: excel vba

我正在尝试清除包含数字1-12的列中任何单元格的内容。我目前正在使用for循环和if语句,一次遍历数字1-12,如果单元格包含这些值,则清除内容。我正在使用的文件具有35,000多行数据;有没有一种更有效的方法来告诉宏删除这些数字而不为它们创建单独的elseif语句?

For r = 2 To i
    If Cells(r, 1).Value = "1" Then
        Cells(r, 1).ClearContents
        ElseIf Cells(r, 1).Value = "2" Then
        Cells(r, 1).ClearContents

2 个答案:

答案 0 :(得分:0)

您可以将比较运算符与And结合使用:

For r = 2 to i
    If Cells(r, 1).Value >= 1 And Cells(r, 1).Value <= 12 Then
        Cells(r, 1).ClearContents
    End If
Next

答案 1 :(得分:0)

使用过滤器:

foo match {
  case f @(_: Foo | _ if forceY) => y(f)
  case _ => x
}