2012-01-25 44 views
0

这已被问了很多次,但我从未见过这种情况。在特定列中查找具有值的最后一个单元格

如何找到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 

为了做到这一点我需要这样指定一个范围?但是,我不知道范围的大小。我曾尝试过使用过的范围。但由于其他列(col1 & col3)有更多的数据,这是不合适的。 干杯!

回答

0

任何列的数据值之间是否有空白单元格,还是第一个空白单元格总是在最后一个单元格的值之后?如果是后者,那么你可以(使用VBA它是按键盘上End + Down Arrow相当于

下面是一个例子

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 
+0

作品。;)使用.End(xlDown)谢谢! – 8bitcat

相关问题