知方号

知方号

VBA实战技巧29:从一个工作表复制数据到另一个工作表

VBA实战技巧29:从一个工作表复制数据到另一个工作表

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

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

图1

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

图2

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

图3

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

代码语言:javascript复制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").SelectEnd Sub

代码中:

代码语言:javascript复制Range(Selection, Selection.End(xlDown)).SelectRange(Selection, Selection.End(xlToRight)).Select

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

代码语言:javascript复制Selection.End(xlDown).SelectActiveCell.Offset(1,0).Range("A1").Select

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

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

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

图4

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。