我有这段代码:
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;但相反,循环删除电子表格中的所有内容。任何洞察我可能有的逻辑错误都会受到欢迎。
答案 0 :(得分:3)
每当我看到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