欢迎来到天天文库
浏览记录
ID:12282089
大小:15.12 KB
页数:3页
时间:2018-07-16
《利用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
此文档下载收益归作者所有