Range 描述
Range对象是Excel应用程序中最常用的对象,一个Range对象代表一个单元格、一行、一列、包含一个或者更多单元格区域(可以是连续的单元格,也可以是不连续的单元格)中选定的单元格,甚至是多个工作表上的一组单元格,在操作Excel 内的任何区域之前都需要将其表示为一个Range对象,然后使用该Range对象的方法和属性。
单元格的选择:
Sub rang()
Range(“a1:a10”).Select ’选中A1:A10的单元格区域
Range(“B1”).Select ’选中B1的单元格
Range(“DATE”).Select ’选中名称为DATE的表格End Sub
注:上述表格给D2的单元格命名为了DATE。
给单元格赋值:
Sub rang()
Range(“a1:a10”).Value = 100 ’给A1:A10的单元格赋值
Range(“B1”).Value = 50 ’给B1的单元格赋值
End Sub
代码演示结果如下:
获得制定行、列中的最后一个非空单元格
使用VBA对工作表进行操作时,经常需要定位到指定行或列中最后一个非空单元格,此时可以使用Range对象的End属性,在取得单元格对象后便能获得该单元格的相关属性,如单元格地址、行列号、数值等,如下面的代码所示。
Sub LastRow()
Dim rng As Range
Set rng = Sheet1.Range(“A1048576”).End(xlUp)’A1048576与版本有关
MsgBox “A列中最后一个非空单元格是” & rng.Address(0, 0) _
& “,行号” & rng.Row & “,数值” & rng.Value
Set rng = Nothing
End Sub
代码演示结果如下:
代码解析:LastRow过程使用消息框显示工作表中A列最后非空单元格的地址、行号和数值。End属性返回一个Range对象,该对象代表包含源区域的区域尾端的单元格。等同于按键、、或,语法如下:expression.End(Direction)参数expression是必需的,一个有效的对象。参数Direction是可选的,所要移动的方向,可以为下表格所示的XlDirection 常量之一。
常量 | 值| 描述
---|---|---
xlDown| -4121| 向下
xlToRight| -4161| 向右
xlToLeft | -4159| 向左
xlUp| -4162| 向上
Range对象的End属性返回的是一个Range对象,因此可以直接使用该对象的属性和方法。 通过修改相应的参数,能够获得指定行中最后一个非空单元格,如下面的代码所示。
Sub LastColumn()
Dim rng As Range
Set rng = Sheet1.Range(“XFD”).End(xlToLeft)’XFD与版本有关
MsgBox “第一行中最后一个非空单元格是” & rng.Address(0, 0) _
& “,列号” & rng.Column & “,数值” & rng.Value
Set rng = Nothing
End Sub
最后一个代码,没有录制GIF的文件,感兴趣的人,可以自己试一下。代码解析:LastColumn过程使用消息框显示工作表中第一行最后一个非空单元格的地址、列号和数值,
**注:上述代码中的 "A1048576"和"XFD"的与Excel的版本有关系,可以用Ctrl+方向键确定所使用版本的最后一行及最后一列的编号**
网友评论