Sub Filter_empty_Rows()
Dim Row_nr As Integer
With Worksheets("Boutenlijst Kist B")
For Row_nr = 3 To 1009
If Cells(Row_nr, 4).Value = "" Then
Cells(Row_nr, 4).EntireRow.Hidden = True
End If
Next Row_nr
End With
End Sub
这应该隐藏D列中包含空单元格的所有行。但它不会。因为空单元格仍然链接到另一个工作表。所以没有真正的价值,但它也不是空的。
任何人都有解决方法吗?
答案 0 :(得分:0)
如果一个单元格持有对另一个单元格的引用,并且该单元格没有值,则该单元格的值的值由excel设置为0。所以,如果你想要一种方法,那就是
If Cells(Row_nr, 4).Value = "" Or Cells(Row_nr, 4).Value = 0 Then
如果你的某些数据真的是零,那么它可能会有点棘手。您可以使用.Range.HasFormula
查看它是否包含公式,并使用它来判断它是否是一个坏数据。
如果这还不够好,那么您可以使用.Range.Formula
获取单元格中的实际公式,然后使用它来执行您需要的分析。