使用vba清理所有在工作表中不包含公式的单元格?

我正在使用下面的代码来清除所有不含公式的细胞。

Sub DoNotContainClearCells() Dim rng As Range Dim cell As Range Dim ContainWord As String 'What range ? Set rng = Worksheets("Datenbasis").Range("A5:Z100") 'What I am looking for? ContainWord = "=" For Each cell In rng.Cells If cell.Find(ContainWord) Is Nothing Then cell.Clear Next cell End Sub 

但是我得到了运行时错误1004,只是第一列被删除。 我该如何处理这个错误? 有没有更好的方法来删除不包含公式的表单中的单元格?

考虑:

 Sub DoNotContainClearCells() Dim rng As Range Set rng = Worksheets("Datenbasis").Range("A5:Z100") rng.Cells.SpecialCells(xlCellTypeFormulas).Clear End Sub 

编辑#1:

如果你想清除包含公式的单元格,那么:

  Sub DoNotContainClearCells() Dim rng As Range Set rng = Worksheets("Datenbasis").Range("A5:Z100") rng.Cells.SpecialCells(xlCellTypeConstants).Clear End Sub 

将离开公式单元格!

试试下面

 Sub DoNotContainClearCells() Dim rng As Range Dim cell As Range 'What range ? Set rng = Worksheets("Datenbasis").Range("A5:Z100") For Each cell In rng.Cells If Not cell.HasFormula Then cell.Clear Next cell End Sub