Excel 2010 VBA 入门 063 跨表数据录入

目录

示例

实现代码

ListObject对象

ListObject对象的表示方法

1.序号表示法

2.名称表示法

ListColumn对象

向ListObject中添加新数据

使用VBA添加ListObject对象

Excel中数据存储的结构

(1)用输入界面的表格或者汇总形式的表格直接代替数据库存储。

(2)使用多维表(交叉表)记录数据。


示例

    如图所示,该表为某公司供应商信息录入表以及供应商数据表。现希望在“数据输入”表中输入各个数据,然后添加至“数据表”中,如何用VBA完成?

实现代码

  将单元格区域转换为ListObject对象,然后利用该对象进行输入。

    激活表“数据”并选中数据表中数据区域的任意单元格,按组合键【CtrI+L]创建列表(ListObject),如图所示。

Option Explicit

Dim rngFind As Range            '存放查找的起始单元格

Sub 跨表录入数据()
    Dim lastRow As Long         '数据表中的数据行
    Dim lstData As ListObject   '数据表中的ListObject对象
    Dim rngTitle As Range       '单元格对象,用于遍历输入表中的标题
    
    '设置ListObject对象变量
    Set lstData = Sheets("数据").ListObjects(1)
    
    '获取当前数据的最后一行(数据表中除标题行外,至少要有一行数据,否则出错)
    lastRow = lstData.DataBodyRange.Rows.Count
    
    '遍历数据录入表中的各个标题
    For Each rngTitle In Union(Sheets("sheet1").Range("A4:A10"), Sheets("sheet1").Range("C7:C10"))
        '将数据录入表中标题之右的单元格(即录入数据单元格)的值赋值给数据表中相应的列
        lstData.ListColumns(rngTitle.Value).DataBodyRange(lastRow).Offset(1, 0).Value _
            = rngTitle.Offset(0, 1).Value
    Next
End Sub

ListObject对象

    ListObject是存放于工作表中的一个列表对象,它是Excel在工作表中开辟出的一个特殊的区域,用以存放结构化的数据。这个区域由标题行和数据区域组成,数据的每一行称为一条记录,其每一列称为字段,用以存放相同属性的数据。使用ListObject对象存储数据可以方便地被其他软件调用,也可以使用ListObject对象引用其他数据库的数据,因而在Office编程中,开发者常常使用ListObject对象存储数据。

ListObject对象的表示方法

    ListObject对象是一个特殊的单元格区域,因而其必须依赖于工作表(Worksheet)而存在。换言之,ListObject对象和Worksheet对象是子对象和父对象的关系。在Worksheet对象中,以ListObjects属性表示所有的ListObject集合对象(ListObjects)。ListObject
对象可以采用以下表示方式。

1.序号表示法

序号表示法是以ListObject在工作表中创建的先后顺序来表示的,其语法如下:

Worksheet.ListObjects(indexNo)

    该表达式将返回一个ListObject对象。其中,Worksheet为指定的工作表对象。参数indexNo表示ListObject的序号,该序号从1开始,最大值为工作表中ListObject的数量。

2.名称表示法

本方法以ListObject的名称来表示ListObject对象,其语法如下:

Worksheet.ListObjects(name)

    该表达式将返回一个ListObject对象。其中,参数name为ListObject对象的名称。该对象常用的属性如表所示。

                              ListObject对象常用的基本属性

    属  性

    说  明

Name

ListObject的名称

Querytable

当ListObject为外部查询时,与查询相关的QueryTable对象

HeaderRowRange

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ngbshzhn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值