我可以请求你的帮助。我的高级过滤器不起作用,因为列A在空单元格中具有不可见的内容。为了使其工作,我需要VBa代码,它将选择从A7到A200的所有单元格并清除仅空白单元格的内容。
答案 0 :(得分:3)
如果 1 列中的公式单元格正在返回 Null ,并且您想清除它们:
Sub ClearAlmostMothing()
Dim rng As Range
On Error Resume Next
Set rng = Columns(1).SpecialCells(xlCellTypeFormulas)
For Each r In rng
If r.Value = "" Then r.ClearContents
Next r
On Error GoTo 0
End Sub
备注:强>
OnError
可以避免在列已经“干净”时出现问题ClearContents
只保留单元格格式。修改#1:强>
这个版本在我的电脑上稍快一点:
Sub ClearAlmostMothing2()
Dim rng As Range, rClear As Range
Set rClear = Nothing
On Error Resume Next
Set rng = Range("A7:A400").SpecialCells(xlCellTypeFormulas)
For Each r In rng
If r.Value = "" Then
If rClear Is Nothing Then
Set rClear = r
Else
Set rClear = Union(rClear, r)
End If
End If
Next r
rClear.ClearContents
On Error GoTo 0
End Sub
答案 1 :(得分:2)
只需使用SpecialCells
:
Range("A7:A200").SpecialCells(xlCellTypeBlanks).ClearContents