2010-12-09 154 views
0

此代码应该获取我指定范围内的所有行,并删除其中没有单元格DATA的行。它实际上删除了范围内的每一行。为什么?Excel删除行删除错误的行

Range range = _sheet.get_Range("A25:A542", Type.Missing); 
range = range.EntireRow; 
range.Delete(Type.Missing); 
+0

对不起,但我可以看到你的代码完成了它应该做的事情。 – Bolu 2010-12-09 14:35:32

+0

您没有指定要删除的行内的哪些单元格。你用`range = range.EntireRow;`和`range.Delete(Type.Missing)'选择整行;`删除整行 – 2010-12-09 14:38:21

回答

1

Type.Missing并不意味着你认为这意味着什么。 Type.Missing是一个COM制品 - 它只是告诉Excel对象你没有提供这个特定的参数。这是VB.NET和VBA中通常关心的事情。 C#4.0支持可选参数,这使事情变得更容易。

1

你不检查是否有任何数据存在,所以程序会删除25行直到行中的所有行542