【问题标题】:Clearing contents of cell with for loop and if statement使用 for 循环和 if 语句清除单元格的内容
【发布时间】:2018-03-01 23:36:12
【问题描述】:

我有这段代码:

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

代码的目的是遍历电子表格中所有使用的单元格,如果前三位数字不是 574、233、584,则单元格将设置为空。

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

【问题讨论】:

  • ors 更改为Ands

标签: excel for-loop if-statement vba


【解决方案1】:

每当我看到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

【讨论】:

  • 好的,我得试试,谢谢你的帮助!
猜你喜欢
  • 2018-02-11
  • 2016-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多