Excel打印如何设置纸张方向?小Q来教您一个解决的方法。......
2023-01-18
今天小编就整理一下常用的两个5秒就可以实现的多表合并和拆分操作。
场景1:如何五秒钟实现对多个Excel数据表进行统一汇总
如上图:我们已经整理好每个月的数据,现在需要将它汇总到第一季度的汇总表中,最快捷的方法就是用VBA代码来操作,如下图:
多表合并代码如下:
Sub 多表合并()
Dim i%, rs%, rss%, st As Worksheet, ast As Worksheet
Set zst = Sheet4 '将汇总工作表第一季度定义为变量zst
For i = 1 To 3
Set st = Sheets(i & "月") '将1-3月的工作表定义为变量st
rs = st.UsedRange.Rows.Count '计算1-3月每个表的最后一行
rss = zst.UsedRange.Rows.Count + 1 '计算第一季度工作表的最后一行的下一行
st.Range("A2:B" & rs).Copy Cells(rss, 1) '复制1月、2月、3月每个工作表的数据到第一季度的汇总表中
Cells(rss, 3).Resize(rs - 1) = i & "月" '将1-3月工作表的工作吗写入到汇总表对应的月份当中
Next
End Sub
注意点:
对象变量进行赋值时需要用set。
操作方法:
1、按ALT+F11,进入代码编辑窗口,粘贴输入以下代码即可;
2、代码窗口点击运行代码将自动汇总数据。
3、如果你的月份是1月-10月,那么代码中的For i = 1 To 10。
场景2:如何快速实现对多个工作表进行单独拆分
如上图,我们的工作簿中有1-4月每个月的数据,现在我们需要将每个月的工作表单独分开出来作为一个工作簿,让不同的人来核对对应月份的数据。效果图如下图:
多表拆分代码如下:
Sub 拆分到工作簿2()
Dim wk As Workbook, ss$, k%
Application.DisplayAlerts = False
For Each sht In ThisWorkbook.Sheets
Set wk = Workbooks.Add
k = k + 1
ThisWorkbook.Sheets(k).Copy Workbooks(2).Sheets(1)
ss = ThisWorkbook.Path & "" & sht.Name & ".xlsx"
wk.SaveAs ss
wk.Close
Next
Application.DisplayAlerts = True
MsgBox "拆分工作簿完成!"
End Sub
现在你知道了如何最快速度的合并和拆分表格了吗?
相关文章