在特定列中查找具有值的最后一个单元格

时间:2012-01-25 18:07:07

标签: c# excel

这已被问过很多次,但我从来没有见过这样的事情。

如何在col2中找到值为最后一个单元格?

我将在稍后使用它,因此使用数据迭代从row1到最后一行。

我想将其修改为仅搜索col2

nInLastRow = oSheet.Cells.Find("*",System.Reflection.Missing.Value,
System.Reflection.Missing.Value, System.Reflection.Missing.Value, 
Excel.XlSearchOrder.xlByRows,Excel.XlSearchDirection.xlPrevious,    
false,System.Reflection.Missing.Value,System.Reflection.Missing.Value).Row;

我的例子:

      col1   col2   col3
 Row1 data   data   data
 Row2 data   data   data
 row3 data   data   data
 row4 data          data
 row5 data          data

为了做到这一点,我需要指定范围吗?但是我再也不知道范围的大小。我试过用过的。但由于其他cols(col1& col3)有更多数据,因此不合适。 干杯!

1 个答案:

答案 0 :(得分:0)

任何列是否在数据值之间都有空白单元格,或者第一个空白单元格是否始终位于具有值的最后一个单元格之后?如果是后者,那么您可以使用.End(xlDown)(这相当于在键盘上按End + Down Arrow

以下是使用VBA的示例。

For Each rng In oSheet.Range("A1:D1")
   Set rngLastValue = rng.End(xlDown)
   Debug.Print "The last cell with a value in column " & rng.Column & " is " & rngLastValue.Address
Next rng