精华内容
下载资源
问答
  • VBA 合并多个excel文件

    千次阅读 2019-05-22 18:24:58
    VBA 合并多个excel文件 先新建一个文件夹,把要合并的多个excel文件放入这个文件夹,再新建一个excel文件,alt+f11(即右击查看代码),双击宏里的这个sheet文件,在窗口中输入代码 Sub 合并当前目录下所有工作簿的...

    VBA 合并多个excel文件
    先新建一个文件夹,把要合并的多个excel文件放入这个文件夹,再新建一个excel文件,alt+f11(即右击查看代码),双击宏里的这个sheet文件,在窗口中输入代码
    Sub 合并当前目录下所有工作簿的全部工作表()
    Dim MyPath, MyName, AWbName
    Dim Wb As Workbook, WbN As String
    Dim G As Long
    Dim Num As Long
    Dim BOX As String
    Application.ScreenUpdating = False
    MyPath = ActiveWorkbook.Path
    MyName = Dir(MyPath & “” & “*.xls”)
    AWbName = ActiveWorkbook.Name
    Num = 0
    Do While MyName <> “”
    If MyName <> AWbName Then
    Set Wb = Workbooks.Open(MyPath & “” & MyName)
    Num = Num + 1
    With Workbooks(1).ActiveSheet
    .Cells(.Range(“B65536”).End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
    For G = 1 To Sheets.Count
    Wb.Sheets(G).UsedRange.Copy .Cells(.Range(“B65536”).End(xlUp).Row + 1, 1)
    Next
    WbN = WbN & Chr(13) & Wb.Name
    Wb.Close False
    End With
    End If
    MyName = Dir
    Loop
    Range(“B1”).Select
    Application.ScreenUpdating = True
    MsgBox “共合并了” & Num & “个工作薄下的全部工作表。如下:” & Chr(13) & WbN, vbInformation, “提示”
    End Sub

    运行(F5)

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • VBA合并多个Excel文件

    2021-03-03 17:07:16
    程序提示:合并了4个excel文件,并列出了各个excel文件的名称。合并后的数据第1行为空行。 列数为8列。总行数为2981,减去空行即:含数据的行数为2980,恰好为4个原始Excel文件的数据总量。 ..

    1. 原始数据介绍

    原始数据为4个格式为xls的excel文件
    在这里插入图片描述
    格式为:第1行为变量名,第2行及之后为数据,变量数量为8个。
    在这里插入图片描述
    每个excel含义745行数据(包括首行变量名)。4个excel的数据共745*4=2980行。
    在这里插入图片描述

    2.打开vba运行界面,输入相应代码。

    在这里插入图片描述

    3.运行后,结果如下。

    程序提示:合并了4个excel文件,并列出了各个excel文件的名称。合并后的数据第1行为空行。
    在这里插入图片描述
    列数为8列。总行数为2981,减去空行即:含数据的行数为2980,恰好为4个原始Excel文件的数据总量。
    在这里插入图片描述

    展开全文
  • 使用VBA合并多个EXCEL文件到一个EXCEL文件
    

    有时候我们需要把一大堆的Excel文件合并一个文件,这时候我们可以想到利用VBA来做。

    这涉及到遍历文件夹以及子文件夹,找出所有的文件,并且读取文件把它们的内容合并到同一个Excel文件中去。

    下面的代码可以实现这样的操作。


    Sub MergeData()

        Dim strFileName As String
        Dim strFolder As String
        Dim row As Integer
        Dim col As Integer
        Dim outRow As Integer
        Dim fob As Object
        Dim fFile As file
        Set fso = CreateObject("scripting.filesystemobject")
        '中间变量worksheet
        Dim wsTemp As Worksheet
        '中间变量workbook

        Dim wbTemp As Workbook
        Dim strMergedFilePath As String
        Dim wbMerged As Workbook
        '输出用worksheet变量

        Dim wsMerged As Worksheet
        '输出用地区名
        Dim strOutFolderName As String
        '输出用城市名
        Dim strOutFileName As String
       
        Application.Visible = False
        Application.ScreenUpdating = False
       
        strMergedFilePath = ThisWorkbook.Path & "\"
       
        Set wsMerged = ThisWorkbook.Sheets(2)
       
        wsMerged.Name = "test"
           
        strFolder = Cells(2, 3).Value
       
        If Dir(strFolder, 16) = Empty Then
            MsgBox "Folder not exits!", vbOKOnly
        End If
       
        Dim file() As String
        Dim f As String
        Dim i, k
        i = 2
        k = 1

        ReDim file(1 To 1)

        '获取所有的子文件夹
        f = Dir(strFolder & "\", vbDirectory)
        Do Until f = ""
            If InStr(f, ".") = 0 Then
                k = k + 1
                ReDim Preserve file(1 To k)
                file(k) = f
            End If
            f = Dir
        Loop
       
        On Error Resume Next
       
        outRow = 3
       
        Do While i <= k
       
            strOutFolderName = file(i)
       
            strFileName = Dir(strFolder & "\" & file(i) & "\*.xlsx", vbDirectory)
           
            Do While strFileName <> ""
           
               strOutFileName = strFileName
               Set wbTemp = Workbooks.Open(strFolder & "\" & file(i) & "\" & strFileName)
                     
               Set wsTemp = wbTemp.Sheets("test")
              
              
               If wsTemp Is Nothing Then
               Else
              
                If outRow = 3 Then
                    row = 2
                Else
                    row = 3
                End If
               
               
                Do While wsTemp.Cells(row, 1).Value <> ""
                   
                    If outRow = 3 Then
                        wsMerged.Cells(outRow, 1).Value = "地区"
                        wsMerged.Cells(outRow, 2).Value = "城市"
                    Else
                        wsMerged.Cells(outRow, 1).Value = strOutFolderName
                        wsMerged.Cells(outRow, 2).Value = strOutFileName
                    End If
                       
                    col = 1
                   
                    Do While wsTemp.Cells(row, col).Value <> ""
                   
                       
                        wsMerged.Cells(outRow, col + 2).Value = wsTemp.Cells(row, col).Value
                   
                        col = col + 1
                       
                    Loop

                    row = row + 1
                   
                    outRow = outRow + 1
                   
                Loop
               
               End If
           
               wbTemp.Close
               strFileName = Dir
           
            Loop
           
            i = i + 1
          
        Loop
       
        wsMerged.Activate
        'wbMerged.SaveAs (strMergedFilePath & "MergedData.xlsx")
        Application.Visible = True

    End Sub


    展开全文
  • 具体操作方法如下:1、把需要合并的excel表格文档放到同一文件夹里(注意,文件夹中不要有其他的Excel文件)。2、新建一合并数据.xlsm“文档(文件名称自定义即可,xlsm为启用宏的Excel文件格式)。3、打开“合并...
    具体操作方法如下:0224e06d00de1c08ba91bb4a359bb358.png1、把需要合并的excel表格文档放到同一个文件夹里 (注意,文件夹中不要有其他的Excel文件)0224e06d00de1c08ba91bb4a359bb358.png2、新建一个“合并数据.xlsm“文档(文件名称自定义即可,xlsm为启用宏的Excel文件格式)0224e06d00de1c08ba91bb4a359bb358.png3、打开“合并数据.xlsm“文件,在”Sheet1“工作表处右键→查看代码(快捷键:“Alt+F11”,或者打开“开发工具”-选择“Visual Basic”)进入到Microsoft Visual Basic for Applications 的窗口。

    dce13fdf354d2f24d8dd43801d1a749e.png

    369013cf07bc2f59c0c90c7b31c6027c.png

    0224e06d00de1c08ba91bb4a359bb358.png4、双击工程资源管理器里面的sheet1或者ThisWorkbook,在右侧的代码区粘贴如下代码(当然处理的VBA代码不止一种,以下仅为举例)
    Sub 合并工作簿()
    Dim MyPath, MyName, AWbName
    Dim Wb As Workbook, WbN As String
    Dim G As Long
    Dim Num As Long
    Dim BOX As String
    Application.ScreenUpdating = False
    MyPath = ActiveWorkbook.Path
    MyName = Dir(MyPath & "\" & "*.xls")
    AWbName = ActiveWorkbook.Name
    Num = 0
    Do While MyName <> ""
    If MyName <> AWbName Then
    Set Wb = Workbooks.Open(MyPath & "\" & MyName)
    Num = Num + 1
    With Workbooks(1).ActiveSheet
    .Cells(.Range("A65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
    For G = 1 To Sheets.Count
    Wb.Sheets(G).UsedRange.Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1)
    Next
    WbN = WbN & Chr(13) & Wb.Name
    Wb.Close False
    End With
    End If
    MyName = Dir
    Loop
    Range("A1").Select
    Application.ScreenUpdating = True
    MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
    End Sub
    0224e06d00de1c08ba91bb4a359bb358.png5、运行→运行子过程/用户窗体(或者直接点击运行按钮,快捷键:F5),即可合并所有Excel表格到”数据合并.xlsm“文档的Sheet1工作表里面。

    2326f708082b38c2827f0bcc5e9ef20b.png

    0224e06d00de1c08ba91bb4a359bb358.png6、稍微处理一下合并后的数据,就完成了Excel表格的合并。

    PS : 如果处理的是多个.csv文件呢?只需将代码中的第9行改为:MyName = Dir(MyPath & "\" & "*.csv") ,即可完成数据合并。

    展开全文
  • 使用VBA合并多个Excel文件

    万次阅读 2012-04-29 13:29:29
     今天一同学突然在Q上问起我如何将多个Excel文件合并到一个Sheet文件中,起初我是想通过编程来实现的,因为之前我用C++实现过一个Excel操作类的封装,也用该类实现过一些自动化工具。但考虑到这本来是个很简单的...
  • VBA拆分一个excel文件为多个excel文件 合并代码如下 Sub 多表多文件合并为多表一文件() Dim FileArray Dim X As Integer Application.ScreenUpdating = False FileArray = Application.GetOpenFilename...
  • VBA 合并多个excel

    2016-04-27 22:53:42
    Sub 汇总() Dim myPath$, myFile$, AK As Workbook, aRow%, tRow%, i As Integer Application.ScreenUpdating = False '冻结屏幕,以防... myPath = ThisWorkbook.Path & "\VMS基础信息表(寿险汇总)\" '把文件路径定
  • Fromhttp://... VBA代码如下: 1 Sub 工作薄间工作表合并() 2 3 Dim FileOpen 4 Dim X As Integer 5 Application.ScreenUpdating = False 6 FileOpen = Application.GetOpenFilename...
  • 工作原因,需要统计所有单位的帐号信息,但是每个单位的帐号都分散在各自的excel表格里,因此需要把多个execel表格的相同的某个sheet页做合并。 大致步骤拆分,分别搜了下VBA,拼凑了三天搞定,还是有点成就感的 ...
  • 一、Linux 或者window+cmder,直接用命令行cat合并EXCEL文件,但是,需要安装辅助东西才能直接处理(也许也不可以,但是,可以用文件格式转换工具转换是可行的,把EXCEL文件转换成txt文件,再操作,操作好了,再转换...
  • 应同事需要写了一段VBA代码,实现的功能是把多个Excel文件的第一个工作表(Sheet)合并到一个Excel文件的多个工作表里,并且新工作表的名称等于原Excel文件的文件名。开发环境Excel2010,但是Excel2003应该也能用,...
  • 通过VBA多个格式相同的Excel文件合并成一个文件,带文件处理
  • 经常遇到有人问需要把多个EXCEL文件放到一个文件里,我称之为多表合一,并不需要合并数据,就是结构上的合并,代码很简单,大家可以根据自己需要随意修改,重点讲一下如何在多个sheet中代码筛选出自己需要的表,代码文件请...
  • 运营人员需要历年的订单数据,这就需要把多个文件夹下面的excel文件合并到一个sheet中,之前的解决的办法是用VBA多个excel文件合并成一个表的多个sheet,再把多个sheet合并成一个sheet这种办法对数据量不多的可以...
  • 工作中 经常需将 几个Excel 文件中的 工作表 合并到 一个Excel文件 中 效果如下 ▼ ● ● ● 小窍门:将屏幕横放可放大图片! 新建合并工作簿的宏命令 ▎ 1 “宏”在哪里? ■ 单击工具栏上的...
  • 多个相同字段类型的Excel文件,全部都放在一个文件夹。 然后全部统一合并到一个指定的Excel里。 {Power Query} 不仅可以将文件夹下所有的文件统一合并,并把所有的工作簿内的不同Sheet一并合并。 [关键知识点]: 1...
  • 运营人员需要历年的订单数据,这就需要把多个文件夹下面的excel文件合并到一个sheet中,之前的解决的办法是用VBA多个excel文件合并成一个表的多个sheet,再把多个sheet合并成一个sheet这种办法对数据量不多的可以...
  • 我有一需求:就是用vba实现把一目录下(D:\test)(包括子目录下)文件名为test开头的excel文件(如:test20140404.xlsx)全部复制到一新目录下(如:E:\test),并把这些excel文件内容合并到一新的excel...
  • 转自: ... 打开一空白xls, 按Alt+F11 进入宏编辑界面 —> 插入模块, 在右边粘贴...'功能:把多个工作簿的第一个工作表合并到一个工作簿的多个工作表,新工作表的名称等于原工作簿的名称 Sub Books2Sheets()  '定
  • 可以合并多个Excel Workbooks (即Excel文件) 合并成一个 Excel文件。 http://exceltips.vitalnews.com/Pages/T002409_Merging_Many_Workbooks.html Merging Many Workbooks Summary: Got a whole sl...
  • 利用VBA快速整合多个excel文件

    千次阅读 2019-08-25 15:55:36
    心得(一):关于VBA如何把同一个文件下的所有文件的内容合并到同一个excel文件下 问题:如何把多个格式相同的excel整合到一个excel上,起初想的是可以直接用复制粘贴……但是文件有几百个将近一千个,这么做的话有点...
  • 在工作中会经常碰到数据被分成多个文件,每个文件里面又有多个表格,而且每月或每年都要进行汇总分析,如果数据量少的话就进行手工复制,实在太多的话只能使用vba...新建一个excel文件,切换到数据选项,单击“新建...
  • 双击打开汇总文件.xls(当然我们也可以随便新建一个excel文档),按ALT+F11打开VBE编辑器,新建一个模块,粘贴如下代码:Option ExplicitSub mergeonexls() '合并多工作簿中指定工作表On Error Resume NextDim x As ...
  • 对于不熟悉Excel公式,不熟悉vba的人,要如何按需要快速把多个excel表合并成一个excel表? 下面介绍两款在线工具,一键解决excel表合并的问题,不在... 例如我们有如下多个Excel文件或者多个Sheet,点击 :多个Ex...
  • 多个excel文件合并为:一个excel的多个sheet页【方法技巧】 大家平时在进行excel表格文件处理时,经常碰到需要多个excel文件合并成一个excel表格文挡,并且每个文档都保存在一个单独的sheet工作表中,一个一个的...
  • 一、问题工作需要将多个小的excel文件合并成为一个excel文件,文件格式、内容一致,因为文件数目较多,不考虑... 图1 同一个文件夹下的多个excel文件二、代码Sub 打开文件夹下所有文件并复制制定内容()Dim a$, n As...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 244
精华内容 97
关键字:

vba合并多个excel文件