中国建设银行网站宁波资阳住房和城乡建设厅官方网站
web/
2025/9/28 20:03:34/
文章来源:
中国建设银行网站宁波,资阳住房和城乡建设厅官方网站,个人养老保险可以补交吗,外贸自建站多少钱工作中经常会用到的把几个Excel文件合并到一个#xff0c;或者是把一个Excel文件里的所有Sheet合并到一个Sheet来进行统计。下面分别提供用vba宏来解决这两个问题的方法。
1、合并Excel文件
打开一个空Excel文件#xff0c;AltF11#xff0c;插入一个模块#xff0c;开始…工作中经常会用到的把几个Excel文件合并到一个或者是把一个Excel文件里的所有Sheet合并到一个Sheet来进行统计。下面分别提供用vba宏来解决这两个问题的方法。
1、合并Excel文件
打开一个空Excel文件AltF11插入一个模块开始写代码
Sub MergeWorkbooks()Dim FileSetDim i As IntegerOn Error GoTo 0Application.ScreenUpdating FalseFileSet Application.GetOpenFilename(FileFilter:Excel 2003(*.xls),*.xls,Excel 2007(*.xlsx),*.xlsx, _MultiSelect:True, Title:选择要合并的文件)If TypeName(FileSet) Boolean ThenGoTo ExitSubEnd IfFor Each Filename In FileSetWorkbooks.Open FilenameSheets().Move After:ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)NextExitSub:Application.ScreenUpdating TrueEnd Sub
这段代码的作用它首先打开一个文件选择框你可以选择一个或多个文件然后把这些文件里的所有Sheet合并到当前这个工作簿里来有重名的Sheet会自动在后面加数字。
2、合并一个EXCEL多个sheet的内容到一个汇总sheet
同上再添加一个模块吧代码如下
Function LastRow(sh As Worksheet)On Error Resume NextLastRow sh.Cells.Find(what:*, _After:sh.Range(A1), _Lookat:xlPart, _LookIn:xlFormulas, _SearchOrder:xlByRows, _SearchDirection:xlPrevious, _MatchCase:False).RowOn Error GoTo 0
End FunctionSub MergeSheets()Dim sh As WorksheetDim DestSh As WorksheetDim Last As LongDim shLast As LongDim CopyRng As RangeDim StartRow As LongApplication.ScreenUpdating FalseApplication.EnableEvents False新建一个“汇总”工作表Application.DisplayAlerts FalseOn Error Resume NextActiveWorkbook.Worksheets(汇总).DeleteOn Error GoTo 0Application.DisplayAlerts TrueSet DestSh ActiveWorkbook.Worksheets.AddDestSh.Name 汇总开始复制的行号忽略表头无表头请设置成1StartRow 2For Each sh In ActiveWorkbook.WorksheetsIf sh.Name DestSh.Name ThenLast LastRow(DestSh)shLast LastRow(sh)If shLast 0 And shLast StartRow ThenSet CopyRng sh.Range(sh.Rows(StartRow), sh.Rows(shLast))If Last CopyRng.Rows.Count DestSh.Rows.Count ThenMsgBox 内容太多放不下啦GoTo ExitSubEnd IfCopyRng.CopyWith DestSh.Cells(Last 1, A).PasteSpecial xlPasteValues.PasteSpecial xlPasteFormatsApplication.CutCopyMode FalseEnd WithEnd IfEnd IfNextExitSub:Application.GoTo DestSh.Cells(1)DestSh.Columns.AutoFitApplication.ScreenUpdating TrueApplication.EnableEvents TrueEnd Sub
这段代码的作用它会新建一个叫做“汇总”的工作表然后把当前工作簿里的所有Sheet里有数据的内容都复制到“汇总”表里。提示如果数据表里的内容没有表头的话需要把StartRow 2改成StartRow 1。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83504.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!