Excel VBA-单元格的操作(01)

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

代码演示结果如下:

Excel VBA-单元格的操作(01)

注:上述表格给D2的单元格命名为了DATE。

给单元格赋值:

Sub rang()

Range("a1:a10").Value = 100 '给A1:A10的单元格赋值

Range("B1").Value = 50 '给B1的单元格赋值

End Sub

代码演示结果如下:

Excel VBA-单元格的操作(01)

获得制定行、列中的最后一个非空单元格:

使用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

代码演示结果如下:

Excel VBA-单元格的操作(01)

代码解析: LastRow过程使用消息框显示工作表中A列最后非空单元格的地址、行号和数值。 End属性返回一个Range对象,该对象代表包含源区域的区域尾端的单元格。等同于按键,语法如下: expression.End(Direction) 参数expression是必需的,一个有效的对象。 参数Direction是可选的,所要移动的方向,可以为下表格所示的XlDirection 常量之一。

Excel VBA-单元格的操作(01)

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+方向键确定所使用版本的最后一行及最后一列的编号


分享到:


相關文章: