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

excel VBA中如何选中行数不确定的区域
xlUp:向上移动,相当于在源区域按Ctrl+上方向键。xlDown:向下移动,相当于在源区域按Ctrl+下方向键。所以在程序设计的过程中,很多人喜欢用“[A65536].End(xlUp).Row”语句来返回A列的最后一个非空单元格的行号。如果当前活动工作表的A列填写的是学生的姓名,现在想在表中A列最后一个学生的后面增...

在Excel 的VBA中,要选择不确定的区域,
先查找aaa的行号再加二行,就确定了区域。

在EXCEL中如何用VBA一次选中多行?
'连续整行选定 Range("A1:A10").EntireRow.Select '选择不连续多行 Range("A1,A3,A5:A8").EntireRow.Select '选择连续有数据的行 r = ActiveSheet.Cells(Rows.Count, 1).End(3).Row Range("A1:A" & r).EntireRow.Select End Sub ...

高分!Excel中怎么用vba选定多个不连续单元格所在行
用cells 选全部单元格 用Selection 代表现在所选的区域

EXCEL中怎样用VBA自动选择不为空的区域区域?
'按ALT+F11-插入-模块-粘贴代码-将表格另存为启用宏的格式(xlsm)Sub ceshi()Range("a1:c" & Range("c65536").End(xlUp).Row).Select End Sub

Excel中如何用VBA判断行数?
1、同时按下“win+R”键,在打开的运行对话框中输入“excel”回车,打开一个新建的excel文档。2、在打开的excle窗口,依次点击工具栏“开发工具”——“Visual Basic”或直接按快捷键“ALT+F11”,打开VB编辑器。3、双击左侧工程窗口中的“sheet1”,打开“sheet1”代码编辑窗口。4、在代码窗口的下拉...

excel2003 如何用VBA编程选定若干单元格区域?
第一种方法:Ctrl+G调出定位对话框,在【引用位置】处输入A1:E5000,点击【确定】即可。第二种方法:在程序左上角的【名称框】处输入A1:E5000,然后回车即可。第三种方法:在单元格区域中选中任意一个单元格,按Ctrl+Shift+*即可选定单元格所在整个区域。第四种方法:按Ctrl+End跳转到区域最右下角...

vba excel如何有条件的选择某一行?
Worksheets("工作表名称").Range("单元格范围").Find(要查找的值).EntireRow.SelectFind 方法返回一个 Range 对象,也就是找到的那个单元格对象 然后再用这个对象的 EntireRow 来引用所在的整行。注意,上述代码没有容错判断,如果在指定范围内没有“要查找的值”,代码会出错 ...

excel利用VBA选择活动单元格所在的数组区域
如果在某个区域中输入了相同的数组公式,选择其中某一部分单元格进行修改时,Excel将提示“不能更改数组的某一部分”,这时需要选择全部的数组进行修改。当活动单元格在数组区域中时,可以用下面的VBA代码选择当前整个数组区域,并且在状态栏中给出提示信息。Public Sub SelectArray()Dim Msg As String On...

excelvba如何统计在列表框中选择的行数?
方法一:1. 首先在 Excel 中插入一个控件:列表框;2. 然后右键单击列表框,选择“查看代码”,在弹出的 VBA 编辑窗口中,输入以下代码:Private Sub ListBox1_Click()MsgBox ListBox1.ListCount End Sub3. 保存代码,在列表框中选择行,即可显示选择的行数。方法二:1. 在 Excel 中插入一个控件...

相似回答