美文网首页
把多个Excel文件合并到一个Excel文件的多个工作表(She

把多个Excel文件合并到一个Excel文件的多个工作表(She

作者: 赤耳丰 | 来源:发表于2022-05-09 11:14 被阅读0次

    把多个Excel文件合并到一个Excel文件的多个工作表(Sheet)里

    实现的功能是把多个Excel文件的第一个工作表(Sheet)合并到一个Excel文件的多个工作表里,并且新工作表的名称等于原Excel文件的文件名。开发环境Excel2007,但是Excel2003应该也能用,Excel2000似乎不能用。代码如下:'功能:把多个工作簿的第一个工作表合并到一个工作簿的多个工作表,新工作表的名称等于原工作簿的名称

    新建的excel新表---书签sheet1--右击查看代码-复制代码进入---运行-选择需要合并的表--OKSub Books2Sheets()

    '定义对话框变量

    Dim fd As FileDialog

    Set fd = Application.FileDialog(msoFileDialogFilePicker)

    '新建一个工作簿

    Dim newwb As Workbook

    Set newwb = Workbooks.Add

    With fd

    If .Show = -1 Then

    '定义单个文件变量

    Dim vrtSelectedItem As Variant

    '定义循环变量

    Dim i As Integer

    i = 1

    '开始文件检索

    For Each vrtSelectedItem In .SelectedItems

    '打开被合并工作簿

    Dim tempwb As Workbook

    Set tempwb = Workbooks.Open(vrtSelectedItem)

    '复制工作表

    tempwb.Worksheets(1).Copy Before:=newwb.Worksheets(i)

    '把新工作簿的工作表名字改成被复制工作簿文件名,这儿应用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx

    newwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "")

    '关闭被合并工作簿

    tempwb.Close SaveChanges:=False

    i = i + 1

    Next vrtSelectedItem

    End If

    End With

    Set fd = Nothing

    End Sub

    表合并完成后再进行修改每一个sheet的名称

    注意:没有合并上去的表,在表中新增加一个sheet空表--按住表名称再进行复制移动过去到总表中

    如何快速合并单个excel表中的多个sheet的工作页

    1.首先要在最前页新建一个工作表。

    2.在新建的sheet表中“右键”,找到“查看代码”,然后看到宏计算界面。

    3.看到宏计算界面,我们就只需要把下面的代码复制进去,代码如下----点击运行即可

    Sub合并当前工作簿下的所有工作表()

    Application.ScreenUpdating = False

    For j = 1 To Sheets.Count

       If Sheets(j).Name <> ActiveSheet.Name Then

           X = Range("A65536").End(xlUp).Row + 1

           Sheets(j).UsedRange.Copy Cells(X, 1)

       End If

    Next

    Range("B1").Select

    Application.ScreenUpdating = True

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

    End Sub

    相关文章

      网友评论

          本文标题:把多个Excel文件合并到一个Excel文件的多个工作表(She

          本文链接:https://www.haomeiwen.com/subject/hqkhurtx.html