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

使用vba清理工作表中不包含公式的所有单元格?,vba,excel,Vba,Excel,我使用以下代码清洁所有不含配方的细胞 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.

我使用以下代码清洁所有不含配方的细胞

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
    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
试试下面的

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

rng.Cells.SpecialCells(xlCellTypeFormulas).ClearContents
rng.Cells.SpecialCells(xlCellTypeFormulas).ClearContents这应该是解决方案,但我需要'rng.Cells.SpecialCells(不是xlCellTypeFormulas).Clear“我必须清除每个不包含公式的单元格?这应该是解决方案,但我需要”rng.Cells.SpecialCells(不是xlCellTypeFormulas)。Clear“我必须清除每个不包含公式的单元格?”?