zoukankan      html  css  js  c++  java
  • VBA-06操作单元格对象

    单元格对象

    使用三种方式表示

    1. range
    2. cells
    3. []

    Range

     Microsoft文档: https://docs.microsoft.com/zh-cn/office//vba/api/excel.range(object)

    表示一个单元格、一行、一列、一个包含单个或若干连续单元格区域的选定单元格范围,或者一个三维区域

    表示单元格对象

    • 参数:字符串
      • 必须使用双引号括起来
      • 使用变量时需要使用&(字符串连接符)
    1. 单个单元格: range("a1")
      • 表示a1单元格  
    2. 单元格区域: range("a1: b10")
      • 表示a1:b10单元格区域
    3. 一行或多行单元格区域:range("1:5")
      • 第一个数字:从第几行开始
      • 第二个数字:到第几行结束
      • 表示第1到5行
    4. 一列或多列单元格区域:range("a:c")
      • 使用字母表示列
      • 参数和上一个一样
      • 表示从a列到c列

    Cells

    使用行列号来表示单元格

    • 先是行号,后面是列号,顺序和range不同
    • 行号,列号都是从1开始
    • 只能表示一个单元格
    • cells(2,3) 第二行,第三列单元格,即C2单元格

    不带参数的Cells表示当前页的所有单元格

    []

    • 最简单的方式
    • [a1] 表示a1单元格
    • a1 不是字符串,不需要添加引号
    • 不支持变量,一般不使用

    方法

    1. copy
      • 复制单元格
      • 参数:粘贴单元格的位置
      • Range("H7:L7").Copy Destination:=Range("n7")
        Range("H7:L7").Copy Range("m7")
      • 整行复制的话,目标位置必须从a列开始 
    2. clear
      • 清楚单元格
      • 包含内容和格式设置(边界,背景等)
    3. clearcontents
      • 清楚单元格内容
    4. AutoFilter
      • 筛选
      •  
      • Field: 需要按照拿一些进行筛选,参数必须是列号

      • Criteria1: 注意最后是数字1,而不是字母l, 表示筛选的条件,一般是字符串
      • 没有参数的AutoFilter会在行上添加筛选按钮,如果是第二次的AutoFilter则会取消筛选状态
      •   

    属性

    1. Value

      • 单元格的值
      • 默认参数常常省略,使用单元格的值时,直接使用单元格对象
      • Range ("a1")
        Range("a1").Value
        ' 当使用value时,可以省略,直接使用单元格
    2. offset

      • 偏移量
      • 相对位置,当使用相对引用录制宏的时候,使用offset记录的单元格
      • 参数: (行的偏移量,列的偏移量)
      • 注意:坐标原点在左上角,正数表示: 下移多少行,右移多少行
      • 偏移之后返回的也是一个range对象
      • 做运算的时候,使用offset代替range绝对位置
      •  
    3. end

      • 表示边界位置
      • 搭配单元格和方位使用
      • 等同于:Excel中时使用Ctrl+Shift+方向键 定位单元格的上下左右边界
      • 常用于确认表的边界,如表中有多少行数据
      • 本质上是沿着单元格的上下左右四个方向探测,遇到非空单元格就返回
      • 探测边界时,使用end-up组合
        • 当且只有一行数据时,使用range("a1").end(xldown)会定位到当前sheet页的最后一个单元格,而不是实际的边界
      • 常用于确定有多少行
      • Range("a65536").End(xlUp).Row  # 有多少行
    4. EntireRow和EntireColumn
      • 表示当前单元格的整行,整列数据
      • 聚光顶效果的实现是采用这两个属性实现的
      • Sub 聚光灯效果()  
            ' 去除所有cells的背景颜色
            Cells.Interior.Pattern = xlNone   
            ' 设置整行单元格的背景颜色
            With Selection.EntireRow.Interior
                .Color = 9699327
            End With
            ' 设置整列的填充颜色
            With Selection.EntireColumn.Interior
                 .Color = 9699327
            End With
    5. resize
      • 重新定义区域
      • 参数(行的大小, 列的大小)
      • 对象: 单元格或者单元格区域 
      • 表示自第一个单元格位置开始,一个包含几行,几列的单元格区域
      • Range("a1:a10").Resize(2, 2).Select
        Range("a1").Resize(2, 2).Select
        # 都表示a1:b2的四个单元格
  • 相关阅读:
    English Dictionary site for ODE and OALD
    vmic environment
    makefile
    the diference between include and import
    windows 工具命令 cmd
    python namespace
    shell cmd args
    ROE, ROC
    IP
    链接及常用软件
  • 原文地址:https://www.cnblogs.com/ZhaoLong-study/p/13235014.html
Copyright © 2011-2022 走看看