如何快速合并单个excel表中的多个sheet的工作页

 我来答
鱼木混猪哟
高粉答主

2016-06-14 · 专注Office,尤其Excel和VBA
鱼木混猪哟
采纳数:6078 获赞数:33697

向TA提问 私信TA
展开全部

可以利用VBA快速合并单个excel工作簿中的多个工作表(sheet)

软件版本:Office2007

方法如下:

1.当前工作簿中有多个工作表,结构都一样如下所示,当里面的数据不一样,将它们全部合并到当前工作表中:

2.Alt+F11,打开宏界面,输入如下代码:

Sub m()

For Each sh In Sheets '遍历每个工作表,提取数据

If sh.Name <> "Sheet1" Then '排除当前工作表

sh.Range("A2:C" & sh.Range("A65536").End(3).Row).Copy Range("A" & Range("A65536").End(3).Row + 1) '将工作表中的所有数据复制到当前工作表最后一行的下一行中

End If

Next

End Sub

3.F5执行代码,返回Excel得到结果如下,工作表合并完成:

飞得更高200309
高粉答主

2016-06-09 · 说的都是干货,快来关注
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:9672万
展开全部
  首先我们要有自己的excel数据,并且我们需要的是microsoft excel,WPS没有这些负责的功能。比如我下面举例的,我自己有205页的数据需要合并。

  看到这么多数据页要合并,如果是复制粘贴的话,工作量就很大了。我们现在开始合并,首先要在最前页新建一个工作表。

  在新建的sheet表中“右键”,找到“查看代码”,然后看到宏计算界面。

  看到宏计算界面,我们就只需要把下面的代码复制进去,代码如下,效果如下:

  Sub 合并当前工作簿下的所有工作表()
  Application.ScreenUpdating = False
  For j = 1 To Sheets.Count
  If Sheets(j).Name <> ActiveSheet.Name Then
  X = Range("A65536").End(xlUp).Row + 1
  Sheets(j).UsedRange.Copy Cells(X, 1)
  End If
  Next
  Range("B1").Select
  Application.ScreenUpdating = True
  MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"
  End Sub

  做完上面的事情,然后只需要点击工具栏上面的“运行”下的“运行子过程/用户窗体”就可以了,合并完之后会有提示。提示完成之后就可以把宏计算界面关闭了。

  
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真运虎5
高粉答主

2019-10-30 · 醉心答题,欢迎关注
知道答主
回答量:7.9万
采纳率:7%
帮助的人:3886万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式