如何检查没有价值细胞?

我需要删除所有不包含值的行。 如果一行包含公式或格式但没有值,则将被删除

以下工作只适用于没有值和公式的行

Sub test() [a:a].SpecialCells(xlBlanks).EntireRow.Delete End Sub 

但是,如果A单元格包含公式,则上面不会删除一行。 我该如何改进呢?

您可以在范围对象上使用HasFormula方法:

 Range.HasFormula 

如果范围包含一个公式则返回true,否则返回false。

也许是这样的:

 Sheet1.AutoFilterMode = False [a:a].AutoFilter 1, "=" [a:a].Resize(Rows.Count - 1).Offset(1, 0).SpecialCells( _ xlCellTypeVisible).EntireRow.Delete Sheet1.AutoFilterMode = False 

其中Sheet1是您正在处理的工作表代号。
所以基本上,这个过滤所有的Blanks并删除它,无论它是一个No value空白或Formula空白(例如=“”)

尝试这个 :

 Sub CleanupCrew() Set wb = ThisWorkbook Set ws = wb.Sheets(1) 'Replace 1 with either the number of your sheet or "itsName" last = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row For x = last to 1 Step -1 If ws.Cells(x, 1) = "" Or ws.Cells(x, 1).Formula <> "" Then ws.Rows(x).Delete End If Next x End Sub 

它将遍历所有行(从最后一行开始),并删除所有那些没有值或列A中的公式。希望这是你正在寻找。 如果没有,让我知道,我会提供更多的支持!