美文网首页
32. VBA(五)对象操作

32. VBA(五)对象操作

作者: 神农架村姑 | 来源:发表于2019-10-16 08:41 被阅读0次

Excel对象主要有4个:

  • 工作薄 Workbook
  • 工作表 Worksheet
  • 单元格区域 Range
  • 单元格 Cell

这里只讲后面3个,不讲工作薄。原因:

工作薄其实就是一个Excel文件。不建议直接操作Excel文件,因为文件属性被更改的机率高,比如修改了文件名,或者文件被移动到其它地方去,这样 写死的VBA代码就不管用了。
在多数情况下,如果需要操作多个工作薄中的数据,建议把这些工作薄里面的表复制到一个工作薄中进行操作。

1. 操作工作表 Worksheets

其实对工作表的操作,更多是对其引用。当一个工作薄中有多个工作表而需要用到不同表中的数据时,就需要分别引用不同的工作表。


2. 操作单元格区域 Range

单元格区域,即Range对象。应该是在Excel VBA中用得最多的对象。Range对象是Worksheet对象的一个子集。所以通常通过worksheet_object.Range()的方式来引用。


单个单元格区域的引用
set rng_sellingPrice = sht_productlist.Range("D2")
多个连续单元格区域的引用
set rng_sellingPrice = sht_productlist.Range("D2:D5")

3. 操作单元格对象

Cells,括号里面输入用数字表示的行号和列号,即可引用到单个单元格对象。Cells对象也是Worksheet对象的一个子集。通常通过worksheet_object.Cells()的方式来引用。

单个单元格的引用,使用Cells和使用Range好像没什么区别,但在进行数据处理时,我们经常需要动态地把数据读或写入一个单元格中,这时,用数字表示位置的Cells对象,再结合For循环,操作起来就很方便了。
如以下代码可以把A1到D5中所有单元格的内容分别输出:

Sub test2()
    Dim sht_slea As Worksheet
    Set sht_slea = Worksheets("SLEA")

    For r = 1 To 5
        For c = 1 To 4
            Debug.Print sht_slea.Cells(r, c)
        Next
    Next
End Sub

PS

  • Range对象便于把单元格区域作为一个整体来引用或操作,如格式设置。而Cells对象则方便于对每一个单元格分别进行操作
  • 结合Cells对象的Range
    例如Range("B2:D4")也可以用Range(Cells(2, 2), Cells(4, 4))来表示。如需要根据条件来判断区域的开始和结束位置时,它就派上用场了。

4. 父对象

Worksheet对象的父对象为Application对象。Range的父对象是Worksheet对象,Cells对象的父对象也是Worksheet对象。所以在给这些对象赋值时,标准的写法应当要把父对象给写上。

Set sht_slea = Application.Worksheets("SLEA")
Set title_rng = sht_slea.Range("A1:D1")
Set data_rng = sht_slea.Range(sht_slea.Cells(2, 1), sht_slea.Cells(4, 4))

如果VBA中的代码涉及到的对象都位于一个worksheet中,而这个worksheet当前是激活状态,则这些父对象是可以省略的。默认就是当前(激活的)worksheet。

建议在引用Range对象时,Worksheet对象不要省略
在单独引用Cells对象时,Worksheet对象也不要省略

相关文章

  • 32. VBA(五)对象操作

    Excel对象主要有4个: 工作薄 Workbook 工作表 Worksheet 单元格区域 Range 单元格 ...

  • VBA——Worksheet操作

    VBA操作Excel中常用对象Worksheet的方法笔记,所有内容均来源于别怕,Excel VBA其实很简单。 ...

  • VBA——Range操作

    VBA操作Excel中常用对象Range的方法笔记,所有内容均来源于别怕,Excel VBA其实很简单。 Rang...

  • VBA字典对象操作技巧

    VBA 中集合的功能比较弱,常见的有数组 (array) 、集合 (Collection)和字典,其中字典是 Ke...

  • 数据处理VBA篇:基础概念

    对象#### 用VBA来操作的东西,比如工作簿,工作表,单元格,图表,透视表,图片等 集合 相同类型对象的统称,如...

  • 从零开始学VBA PDF版

    本书主要分为6篇,包括Excel VBA准备篇、Excel VBA基础篇、Excel VBA对象模型篇、Excel...

  • 【Excel VBA】之二 Excel对象模型

    Excel VBA 开发,就是将我们在Excel上的一些操作进行自动化。在Excel中我们最常操作的对象是单元格,...

  • VBA IF逻辑判断

    vba界面操作技巧 运行子过程 F5 右键插入模块 工具栏 视图 标准 Range操作单元格对象 【1】a1赋值1...

  • excel合并多个sheet到一个

    Excel自带VBA,可以实现批量性操作。 合并多个Sheet的工作页,用VBA写代码操作如下: 1.按下Alt+...

  • VBA编程基础2:处理对象和过程控制

    处理对象和集合 VBA编程要在处理对象和集合方面花费大量时间。VBA提供了两个重要的结构,可以简化对象和集合的处理...

网友评论

      本文标题:32. VBA(五)对象操作

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