excel VBA中如何选中行数不确定的区域

请高手帮助。
我有很多格式相同的数据表格,想选中其中一个区域(F6:O最后一行),但每个表格的行数不同。如何在VBA中编写,谢谢!!
我是初学者,呵呵。最后一行的值如何计算,另外RANGE如何引用变量。

用range("o65536").end(xlup).row即可获取o列的最后一个非空单元格的行数

关于此例中用到的End的相关知识:
Range对象有一个End属性,在别人的例子里经常会看到如“[A65536].End(xlUp).Row”这样的语句,这就是End属性的利用。
  End属性应用于Range对象,同样也返回一个Range对象。该对象代表包含源区域的区域结尾处的单元格。如果还是不明白,那可以在工作表里试一试,分别按Ctrl+上、下、左、右方向键,看看得到的是什么。End属性返回的单元格就相当于在源单元格按住Ctrl键+上(或下、左、右)方向键所得到的单元格。它的语句格式简单写为:
  源区域.End(移动方向)
  移动方向可以是:
  xlToLeft :向左移动,相当于在源区域按Ctrl+左方向键。
  xlToRight:向右移动,相当于在源区域按Ctrl+右方向键。
  xlUp:向上移动,相当于在源区域按Ctrl+上方向键。
  xlDown:向下移动,相当于在源区域按Ctrl+下方向键。
  所以在程序设计的过程中,很多人喜欢用“[A65536].End(xlUp).Row”语句来返回A列的最后一个非空单元格的行号。
  如果当前活动工作表的A列填写的是学生的姓名,现在想在表中A列最后一个学生的后面增加一个叫“张三”的学生,则代码为:
  ActiveSheet.Cells([A65536].End(xlUp).Row + 1, 1).Value = "张三"
语句 [A65536].End(xlUp).Row + 1中,行号加1的目的是在最后一个非空单元格的下一个单元格里输入数据。需要注意的是:如果A列全为空的话,“[A65536].End(xlUp).Row”这个语句返回的是1。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-18
有许多种方法可以找到最后一个单元格,如使用等:.SpecialCells(xlCellTypeLastCell).Row

Sub test()
Dim r As Range
With ActiveSheet
lastrow = .Cells(.Rows.Count, "O").End(xlUp).Row
End With
Set r = Range("F6:O" & lastrow)
r.Select
End Sub本回答被提问者采纳
第2个回答  2009-10-18
可以利用range的end属性取得O行最后一行非空单元格
如:
Dim i as Integer
i=sheet1.range("O6536").END(XLUP).ROW
RANGE("F6:O"&i).Select
第3个回答  2009-10-18
《用VBA得到EXCEL表格中的行数和列数》

http://hi.baidu.com/%B4%F3%CA%A5%C3%C0%BA%EF%CD%F5/blog/item/e6143c3f2b8182ef54e723cd.html

dim r as range
第4个回答  2009-10-18
方法真的很多

x = WorksheetFunction.CountA(Range("o:o"))
range("f6:o"&x).select
相似回答