用for循环和if语句清除单元格的内容

我有这样的代码:

For Each cell In Worksheets("Sheet1").UsedRange If(Left(cell, 3) <> 574 Or Left(cell, 3) <> 584 Or Left(cell, 3) <> 233) Then cell.ClearContents Next 

代码purpuse是循环遍历表中所有使用的单元格,如果前三位数字不是574,233,584,那么单元格将被设置为空。

在我的电子表格中,我有值得通过的值,前三位数字等于574,233,584; 而是循环删除电子表格中的所有内容。 任何对于我可能具有的逻辑错误的洞察力都会受到欢迎。

每当我看到IF语句的多个条件,我立即考虑使用Select Case来简化可读性和维护。

 For Each cell In Worksheets("Sheet1").UsedRange Select Case Left(cell,3) Case Is = 574, 584, 233 'do nothing Case Else: cell.ClearContents End Select Next