2016-07-25 75 views
0
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

表中都是空的。公式/数值平面中的源单元格为空白。依赖单元格在公式/数值平面中提到了参考。 – B33ks

+0

对。所以当我在Sheet1单元格A1中输入'= Sheet2!A1'并且sheet2 Al是空白时,它会将一个'0'返回到Sheet1单元格A1中。所以你说你细胞含有字面意思的方式会返回一个空白? –

回答

0

如果一个单元格持有对另一个单元格的引用,并且该单元格没有值,则该单元格的值由excel设置为0。所以,如果你想一个办法做到这一点是做

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

如果你的一些数据将是真正的零,那么它可能会有点麻烦。您可以使用.Range.HasFormula来查看它是否包含公式,并使用它来确定它是否是坏数据。

如果这样做不够好,则可以使用.Range.Formula来获取单元格中的实际公式,然后使用它来执行所需的分析。