如果所有单元格都不为空,如何删除一行数据?

时间:2019-12-27 22:07:50

标签: excel vba

我有一个电子表格,其中包含许多不同商店在给定月份的销售数据。大约有450行(商店)要经过。每月的日子在第1行中,从B列开始,而商店编号在A列中,从第2行开始。我需要查找的是在不同日期缺少数据的行。我可以使用条件格式来突出显示为空的单元格,但这仍然有很多不足之处。我正在尝试通过删除不丢失数据的任何行来减少要查看的单元格数量。因此,如果一行没有丢失任何几天的数据,那么我就不需要查看它,并且可以删除它。但是,如果缺少数据,则保留该行。 我一直想弄清楚实际的代码,但是我想出了想要的伪代码:

foreach row in range ($B$2:$AB$450)
    foreach cell in row 
        if cell < 1
            delete row
    end foreach
end foreach

以下是电子表格的示例:

        A           B               C               D
1               12/1/2019       12/2/2019       12/3/2019
2   Site 1          1000                            2000
3   Site 2          5000            5000            3000
4   Site 3          6000            4000            3000

在此示例中,第4行和第4行将被删除,因为它们没有丢失任何数据。

谢谢

1 个答案:

答案 0 :(得分:0)

**假设您有4列,它们从B列开始:

使用数组公式,您可以看到每行中字符的长度。

=MIN(LEN(B2:E2))

例如,您可以在第2行中使用上面的公式(请记住:ctrl + shift + enter来使用它)

因此,如果您对每行应用该公式,则应该能够知道每行是否缺少值(所有值每行的长度均为0);然后,使用该列进行过滤。例如。过滤不为0的任何内容。