zoukankan      html  css  js  c++  java
  • 把多个Excel文件的第一个工作表(Sheet)

    实现的功能是把多个Excel文件的第一个工作表(Sheet)合并到一个Excel文件的多个工作表里,并且新工作表的名称等于原Excel文件的文件名。

    开发环境Excel2007,但是Excel2003应该也能用,Excel2000似乎不能用。

    代码如下:

    '功能:把多个工作簿的第一个工作表合并到一个工作簿的多个工作表,新工作表的名称等于原工作簿的名称

    新建的excel新表---书签sheet1--右击查看代码-复制代码进入---运行-选择需要合并的表--OK
    Sub 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

  • 相关阅读:
    Hello & Goodbye
    如何将 SQL SERVER 彻底卸载干净
    C#中Split用法
    Tensorflow2(预课程)---7.4、cifar10分类-层方式-卷积神经网络-AlexNet8
    Tensorflow2(预课程)---5.3.2、手写数字识别-层方式-卷积神经网络-LeNet-5稍改
    Tensorflow2(预课程)---5.3、手写数字识别-层方式-卷积神经网络-LeNet
    LeNet-5详解
    卷积神经网络-LeNet
    LeNet结构详细分析
    降采样层和池化层的关系
  • 原文地址:https://www.cnblogs.com/medik/p/11093738.html
Copyright © 2011-2022 走看看