打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel | VBA——合并工作簿与合并工作表

合并工作簿与合并工作表,是Excel数据处理永恒的话题。原来韩老师讲过用SQL语句,还讲过Excel|零基础也会合并多工作表,只需鼠标按序点下去,今天给大家两组代码,每次需要合并工作簿与或是工作表时,复制过来使用就好了。

合并工作簿

代码如下(代码横屏观看效果更好):

Sub 合并工作薄()Dim FileOpen          '定义打开文件变量Dim i As Integer      '定义打开文件个数变量Application.ScreenUpdating = False       '关闭屏幕更新,避免合并时屏幕闪烁FileOpen = Application.GetOpenFilename(FileFilter:='Microsoft Excel文件(.xlsx),.xlsx', MultiSelect:=True)  '打开文件类型为.xlsx,并可以打开多个i = 1Do While i <= UBound(FileOpen)    Workbooks.Open Filename:=FileOpen(i)Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)           '将需要合并的工作薄中工作表合并到最后一个工作表    i = i + 1LoopApplication.ScreenUpdating = True     '打开屏幕更新MsgBox '已完成合并'                   '合并完成并提示End Sub

代码窗口如下:

效果如下:

合并工作表

在VBA窗口中输入以下代码(代码横屏观看效果更好):

Sub 合并工作表()Application.ScreenUpdating = False   '关闭屏幕更新,避免合并时屏幕闪烁Dim sht As Worksheet                 '定义工作表变量Dim irow%, icol%                     '定义行列变量Sheet1.UsedRange.ClearContents       '清除sheet1现有数据For Each sht In Worksheets    If sht.Name <> Sheet1.Name Then        With sht            irow = .Cells(.Rows.Count, 1).End(xlUp).Row                  '当前工作表数据行数            icol = .Cells(1, .Columns.Count).End(xlToLeft).Column        '当前工作表数据列数            If Sheet1.Range('a1') = '' Then                .Range('a1').Resize(irow, icol).Copy Sheet1.Range('a1')  '当前工作表第一行复制到汇总工作表            Else                .Range('a2').Resize(irow - 1, icol).Copy Sheet1.Range('a' & Sheet1.Cells(Sheet1.Rows.Count, 1).End(xlUp).Row + 1)  '当前工作表除第一行以外的数据复制到汇总工作表            End If        End With    End IfNextApplication.ScreenUpdating = True     '打开屏幕更新End Sub

如下图:

效果如下:

不要怕VBA,你可以从模仿开始写起的,写多了,见识多了,你也会了。当然,如果有编辑的基础的,学的快一些,如果没有编辑基础的朋友,那要先去了解变量、语句、算法、对象的概念了。

------------------------------------------

--------------------------------------------

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
各种Excel VBA的命令大全(4)
Excel如何快速合并多个工作簿至一个工作簿中?
【Excel】快速的合并多个 Excel 工作簿中的工作表
Excel | VBA(4)——合并工作表
Excel | VBA轻松实现跨多工作表查询数据
零基础学VBA:VBA与名称
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服