VBA学习(25):从一个工作表复制数据到另一个工作表

今天演示一个简单的例子,也是经常看到网友问的问题,将一个工作表中的数据复制到另一个工作表。

如下图1所示,有3个工作表,需要将工作表“新数据#1”和“新数据#2”中的数据复制到工作表“汇总”中。其中,在“汇总”工作表中已经有部分数据。

图1

工作表“新数据#1”中的数据如下图2所示。

 图2

工作表“新数据#2”中的数据如下图3所示。

图3

按Alt+F11组合键,打开VBE,插入一个标准模块,输入如下代码:

Sub Copy_Data()
   Sheets("新数据#1").Select
   Range("A4").Select
   Range(Selection, Selection.End(xlDown)).Select
   Range(Selection, Selection.End(xlToRight)).Select
   Selection.Copy
   Sheets("汇总").Select
   Range("A3").Select
   Selection.End(xlDown).Select
   ActiveCell.Offset(1, 0).Range("A1").Select
   ActiveSheet.Paste
   Sheets("新数据#2").Select
   Range("A4").Select
   Range(Selection, Selection.End(xlDown)).Select
   Range(Selection, Selection.End(xlToRight)).Select
   Application.CutCopyMode = False
   Selection.Copy
   Sheets("汇总").Select
   Range("A3").Select
   Selection.End(xlDown).Select
   ActiveCell.Offset(1, 0).Range("A1").Select
   ActiveSheet.Paste
   Range("A3").Select
End Sub

代码中:

Range(Selection, Selection.End(xlDown)).Select

Range(Selection, Selection.End(xlToRight)).Select

表示从所选单元格开始,向下至该列数据末尾,向右至行数据末尾的区域。

Selection.End(xlDown).Select

ActiveCell.Offset(1,0).Range("A1").Select

表示选择最后一行数据之后的空行中的第1个单元格。

这段代码很直观,基本上根据三个工作表的特点,采用了“硬编码”,可以根据具体工作表的情况对上述代码进行修改。当然,也可以优化代码,使其具有通用性。

运行代码后,结果如下图4所示。

图4

技术交流,软件开发,欢迎加微信xwlink1996

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值