文档详情

ecel合并工作簿和工作表的代码.docx

发布:2023-12-24约2.67千字共3页下载文档
文本预览下载声明

把多个工作簿合并到一个工作簿作为新工作簿的一张表(宏代码)

Sub合并当前目录下所有工作簿的全部工作表()DimMyPath,MyName,AWbName

DimWbAsWorkbook,WbNAsStringDimGAsLong

DimNumAsLongDimBOXAsString

Application.ScreenUpdating=FalseMyPath=ActiveWorkbook.PathMyName=Dir(MyPath\*.xls)AWbName=ActiveWorkbook.NameNum=0

DoWhileMyName

IfMyNameAWbNameThen

SetWb=Workbooks.Open(MyPath\MyName)Num=Num+1

WithWorkbooks(1).ActiveSheet

.Cells(.Range(A65536).End(xlUp).Row+2,1)=Left(MyName,Len(MyName)-4)ForG=1ToSheets.Count

Wb.Sheets(G).UsedRange.Copy.Cells(.Range(A65536).End(xlUp).Row+1,1)Next

WbN=WbNChr(13)Wb.NameWb.CloseFalse

EndWithEndIf

MyName=DirLoopRange(A1).Select

Application.ScreenUpdating=True

MsgBox共合并了Num个工作薄下的全部工作表。如下:Chr(13)WbN,vbInformation,提示

EndSub

具体操作:在工作簿目录下新建一工作簿,工具---宏----编辑器----插入—模块---粘贴代码==运行

excel如何将一个工作簿中的多个工作表合并到一张工作表上

打开你的工作簿新建一个工作表在这个工作表的标签上右键查看代码你把下面的代码复制到里边去,然后上面有个运行运行子程序就可以了,代码如下,如果出现问题你可以尝试工具宏宏安全性里把那个降低为中或者低再试试

Sub合并当前工作簿下的所有工作表()Application.ScreenUpdating=False

Forj=1ToSheets.Count

IfSheets(j).NameActiveSheet.NameThenX=Range(A65536).End(xlUp).Row+1Sheets(j).UsedRange.CopyCells(X,1)

EndIfNext

Range(B1).SelectApplication.ScreenUpdating=True

MsgBox当前工作簿下的全部工作表已经合并完毕!,vbInformation,提示

EndSub

把同一工作簿多张工作表合并到同一张工作表

1 新建一个工作表放在最左边,ALT+F11键打开代码框--插入--模块--复制以下代码

ALT+F8键打开,运行该代码即可

Sub合并()

ForI=2ToSheets.Count

如果工作表的第一行都一样,就把下面Rows(1 的1改成2就好了Sheets(I).Rows(1:Sheets(I).Range(A60000).End(xlUp).Row)._CopyRange(ARange(A60000).End(xlUp).Row+1)

NextEndSub

批量将多个excel中的多个工作簿合并到一个excel中

将要合并的excel放到一个文件夹中,在这个目录中新建一个excel,运行以下代码

SubCombineFiles()

Dimpath AsString

DimFileName AsString

DimLastCell AsRange

DimWkb AsWorkbook

DimWS AsWorksheet

DimThisWB AsString

DimMyDirAsString

MyDir=ThisWorkbook.path\

ChDriveLeft(MyDir,1)findalltheexcelfilesChDirMyDir

Match=Dir$()

ThisWB=ThisWorkbook.NameApplication.Enab

显示全部
相似文档