利用vba合并工作表与工作薄

利用vba合并工作表与工作薄

ID:12282089

大小:15.12 KB

页数:3页

时间:2018-07-16

利用vba合并工作表与工作薄_第1页
利用vba合并工作表与工作薄_第2页
利用vba合并工作表与工作薄_第3页
资源描述:

《利用vba合并工作表与工作薄》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.合并Excel工作簿(workbook)新建一个空Excel工作簿,Alt+F11,插入一个模块,复制以下代码:SubMergeWorkbooks()DimFileSetDimiAsIntegerOnErrorGoTo0Application.ScreenUpdating=FalseFileSet=Application.GetOpenFilename(FileFilter:="Excel2003(*.xls),*.xls,Excel2007(*.xlsx),*.xlsx",_MultiSelect:=True,Titl

2、e:="选择要合并的文件")IfTypeName(FileSet)="Boolean"ThenGoToExitSubEndIfForEachFilenameInFileSetWorkbooks.OpenFilenameSheets().MoveAfter:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)NextExitSub:Application.ScreenUpdating=TrueEndSub2.合并同一工作簿中的全部工作表(worksheet)打开目标工作簿,再添加一个模

3、块,代码如下Sub合并各工作表内容()sp=InputBox("各表内容之间,间隔几行?不输则默认为0")Ifsp=""Thensp=0EndIfst=InputBox("各表从第几行开始合并?不输则默认为2")Ifst=""Thenst=2EndIfSheets(1).SelectSheets.AddIfst>1ThenSheets(2).SelectRows("1:"&CStr(st-1)).SelectSelection.CopySheets(1).SelectRange("A1").SelectActiveSheet

4、.Pastey=st-1EndIfFori=2ToSheets.CountSheets(i).SelectForv=1To256zd=Cells(65535,v).End(xlUp).RowIfzd>xThenx=zdEndIfNextvIfy+x-st+1+sp>65536ThenMsgBox"内容太多,仅合并前"&i-2&"个表的内容,请把其它表复制到新工作薄里再用此程序合并!"Else:Rows(st&":"&x).SelectSelection.CopySheets(1).SelectRange("A"&CStr(y

5、+1)).SelectActiveSheet.PasteSheets(i).SelectRange("A1").Select'取消单元格被全选状态。Application.CutCopyMode=False'忘掉复制的内容。EndIfy=y+x-st+1+spx=0NextiSheets(1).SelectRange("A1").Select'光标移至A1。MsgBox"这就是合并后的表,请命名!"EndSub

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。