使用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