美文网首页工具癖
Excel VBA -单元格的操作(01)

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

作者: 窗外的麦兜 | 来源:发表于2018-06-01 17:03 被阅读14次

    Range 描述

    Range对象是Excel应用程序中最常用的对象,一个Range对象代表一个单元格、一行、一列、包含一个或者更多单元格区域(可以是连续的单元格,也可以是不连续的单元格)中选定的单元格,甚至是多个工作表上的一组单元格,在操作Excel 内的任何区域之前都需要将其表示为一个Range对象,然后使用该Range对象的方法和属性。

  1. 单元格的选择:

  2. Sub rang()
       Range(“a1:a10”).Select ’选中A1:A10的单元格区域
       Range(“B1”).Select ’选中B1的单元格
       Range(“DATE”).Select ’选中名称为DATE的表格

     End Sub

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

  3. 给单元格赋值:

  4. Sub rang()
           Range(“a1:a10”).Value = 100 ’给A1:A10的单元格赋值
            Range(“B1”).Value = 50 ’给B1的单元格赋值
     End Sub

    代码演示结果如下:

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

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

    相关文章

      网友评论

        本文标题:Excel VBA -单元格的操作(01)

        本文链接:https://www.haomeiwen.com/subject/daeksftx.html