过滤链接但空的单元格

时间:2016-07-25 13:33:19

标签: excel-vba vba excel

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列中包含空单元格的所有行。但它不会。因为空单元格仍然链接到另一个工作表。所以没有真正的价值,但它也不是空的。

任何人都有解决方法吗?

1 个答案:

答案 0 :(得分:0)

如果一个单元格持有对另一个单元格的引用,并且该单元格没有值,则该单元格的值的值由excel设置为0。所以,如果你想要一种方法,那就是

If Cells(Row_nr, 4).Value = ""  Or Cells(Row_nr, 4).Value = 0 Then

如果你的某些数据真的是零,那么它可能会有点棘手。您可以使用.Range.HasFormula查看它是否包含公式,并使用它来判断它是否是一个坏数据。

如果这还不够好,那么您可以使用.Range.Formula获取单元格中的实际公式,然后使用它来执行您需要的分析。