Excel VBA 7.21谁说合并数据只能往下追加合并 今天我们来玩下横向合并
一起学习,一起进步~~
之前我们合并数据的时候,我们都是将几个excel报表的数据通过追加合并的方式合并到一个报表中的,什么是追加合并呢?就是不断的往下填充新的数据,类似于数据库ACCESS中的数据追加,但是今天我在实际操作的时候,忽然突发奇想,我们有时候好像需要用到横向合并数据的,尤其是在统一一个人的多个不同学科成绩,产品销售的时候非常有用,那么问题来了,VBA还可以横向统计数据?
场景模拟
横向合并数据也是比较常见的操作,其实想要实现这样的效果方法有很多种,VBA是其中的一种方法,因为VBA依托excel,也是我们比较常用的工具,所以我们还是选择VBA来实现我们想要的效果吧
假设我们现在有个工作表,是每个班的学科的考试成功,我们现在需要将他们横向汇总起来,方便我们横向对比,
想要实现这样的效果,要如何 操作呢?
代码区
其实今天的代码是非常的简单的,之前我们是追加式的合并数据,是按照最后一个非空单元格进行追加的,那么现在呢?
我们横向合并数据,那就是按照行的最后一个非空单元格进行追加合并就可以了。来看看代码
Sub sss()
Dim sth As Worksheet, tsth As Worksheet
Worksheets.Add after:=Worksheets(Worksheets.Count)
Set tsth = ActiveSheet
tsth.Name = "横向汇总数据"
For Each sth In Worksheets
l = tsth.Cells(1, Columns.Count).End(xlToLeft).Column
If Cells(1, 1) = "" Then
sth.UsedRange.Copy tsth.Cells(1, 1)
Else
sth.UsedRange.Copy tsth.Cells(1, l + 1)
End If
Next sth
End Sub
成功的将所有表的数据横向合并在了一起
代码分析
今天的代码就比较的简单,应该没有多少的知识点需要讲解的,唯一大家需要理解的,就是思路了 。
====================================
赞 (0)