精华内容
下载资源
问答
  • 那其实也可以把多个工作表合并为一个。 继续之前的例子,我们把汇总表删除 如下 把表 1,2,3 合并到sheet5中 合并代码如下: Sub 合并当前工作簿下的所有工作表() Application.ScreenUpdating = Fals...

    在上篇博客https://blog.csdn.net/whandgdh/article/details/100184090,讲到了把一个工作表拆分为多个,
    那其实也可以把多个工作表合并为一个。
    继续之前的例子,我们把汇总表删除
    如下
    在这里插入图片描述
    把表 1,2,3 合并到sheet5中

    Sub 合并当前工作簿下的所有工作表()
    Application.ScreenUpdating = False
    For j = 2To Sheets.Count
     ' j=2表示 从第二个表中开始获取工作簿的所有工作表
    If Sheets(j).Name <> ActiveSheet.Name Then
    X = Range("A95536").End(xlUp).Row + 1
    Sheets(j).UsedRange.Copy Cells(X, 1)
    End If
    Next
    Range("B1").Select
    Application.ScreenUpdating = True
    MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"
    End Sub
    

    同样进入sheet5的vba编程界面
    在这里插入图片描述
    放入代码并运行
    在这里插入图片描述
    运行结果如下图:
    在这里插入图片描述

    删除宏代码 然后保存
    在这里插入图片描述

    展开全文
  • 实现的功能是把多Excel文件的第一个工作表(Sheet)合并到一Excel文件的多...[1].[代码] 把多Excel文件的第一个工作表(Sheet)合并到一Excel文件的多个工作表里 '功能:把多工作簿的第一个工作表

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

    [1].[代码] 把多个Excel文件的第一个工作表(Sheet)合并到一个Excel文件的多个工作表里

    '功能:把多个工作簿的第一个工作表合并到一个工作簿的多个工作表,新工作表的名称等于原工作簿的名称
    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

    展开全文
  • Excel多工作簿合成为一个工作表

    万次阅读 2020-08-21 14:02:20
    第一步:多张工作簿合并成一“汇总工作簿”,操作如下: 第二步:把多张sheet表合并成一张sheet工作表,操作如下: 总结 前言 在工作中,我们会遇到这种情况,收集到各组中工作人员的信息,没人一张表,会产生...

     

    Excel多个工作簿合成为一个工作表

    目录


    前言

     在工作中,我们会遇到这种情况,收集到各组中工作人员的信息,没人一张表,会产生大量的工作簿,汇总时一张一张复制粘贴费时费力,所以我们需要把多个Excel工作簿的内容汇总到一张Excel工作表中。这样可以方便快捷的进行数据整理。

    针对这种情况,我们一般可以分成两步去操作:

    1、首先,多个工作簿汇合并成一个“汇总工作簿”;形成一个工作簿,多张工作表的形式;

    2、其次,将我们的“汇总工作簿”中的多张sheet表合并成一个工作表。

     

    第一步:多张工作簿合并成一个“汇总工作簿”,操作如下:

    1、新建一个Excel工作簿,用于存放合并后的数据,将其命名为合并后的名字,例如:汇总工作簿;

    2、打开工作簿,在任意一个空白sheet表上右击,选择【查看代码】;

     

     

     

    3、点击【查看代码】,在打开的VBA编辑窗口中粘贴以下代码:

    Sub 工作薄合并()
    Dim FileOpen
    Dim X As Integer
    Application.ScreenUpdating = False
    FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(.xlsx),.xlsx", MultiSelect:=True, Title:="合并工作薄")
    X = 1
    While X <= UBound(FileOpen)
    Workbooks.Open Filename:=FileOpen(X)
    Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
    X = X + 1
    Wend
    ExitHandler:
    Application.ScreenUpdating = True
    Exit Sub
    errhadler:
    MsgBox Err.Description
    End Sub
    

     4、保存并关闭VBA编辑窗口;

    5、在Excel中,找到【宏】,选择【工作簿合并】,点击【执行】;

    6、打开窗口,选择需要合并的工作簿即可(可以单选、可以多选);

     7、等待运行结束,就完成了第一步,工作簿的合并。

    8、打开名为“汇总工作簿”的Excel文件,就可以看到多个其他工作簿以多个sheet表的形式合并到了这一个工作簿中。

    第二步:把多张sheet表合并成一张sheet工作表,操作如下:

    1、在“汇总工作簿”中,新建一个sheet页;

    2、在新建的sheet标签上单击右键,选择【查看代码】;

    3、在打开的VBA编辑窗口中粘贴以下代码:

    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
    
    

     4、保存并关闭VBA编辑器;

    5、在Excel中,找到【宏】,选择【合并当前工作簿下的所有工作表】,点击【执行】

    6、等待运行结束,就完成了多张sheet表合并成一张sheet表的工作。

    总结

    合并工作簿的方法有很多,选择合适的即可,此方法分享仅作为本人学习笔记存在, 希望对其他人有所启发,有所帮助。

    展开全文
  • excel将一个工作表根据条件拆分成多sheet工作表

    万次阅读 多人点赞 2018-09-27 16:36:45
    注意:很多朋友反映sheets(i).delete这句代码出错,要注意下面第一个步骤,要拆分的数据工作表名称为“数据源”, 而不是你新建工作簿时的sheet1这种。手动改成“数据源”即可。或者是把代码中得&amp;amp;amp;...
    本例介绍在excel中如何将一个工作表根据条件拆分成多个工作表。
    
    注意:很多朋友反映sheets(i).delete这句代码出错,要注意下面第一个步骤,要拆分的数据工作表名称为“数据源”,
     而不是你新建工作簿时的sheet1这种。手动改成“数据源”即可。或者是把代码中得"数据源"改为你得源工作表“Sheet1”也行
    
    

    先展示最后效果:
    这里写图片描述
    这里写图片描述

    开始步骤例子:

    1. 列表内容
    2. 这里写图片描述
    3. 这里写图片描述
    4. 这里写图片描述
    5. 代码如下
    Sub CFGZB()
    
        Dim myRange As Variant
    
        Dim myArray
    
        Dim titleRange As Range
    
        Dim title As String
    
        Dim columnNum As Integer
    
        myRange = Application.InputBox(prompt:="请选择标题行:", Type:=8)
    
        myArray = WorksheetFunction.Transpose(myRange)
    
        Set titleRange = Application.InputBox(prompt:="请选择拆分的表头,必须是第一行,且为一个单元格,如:“姓名”", Type:=8)
    
        title = titleRange.Value
    
        columnNum = titleRange.Column
    
        Application.ScreenUpdating = False
    
        Application.DisplayAlerts = False
    
        Dim i&, Myr&, Arr, num&
    
        Dim d, k
    
        For i = Sheets.Count To 1 Step -1
    
            If Sheets(i).Name <> "Sheet1" Then
                 Sheets(i).Delete
    
            End If
    
        Next i
    
        Set d = CreateObject("Scripting.Dictionary")
    
        Myr = Worksheets("Sheet1").UsedRange.Rows.Count
    
        Arr = Worksheets("Sheet1").Range(Cells(2, columnNum), Cells(Myr, columnNum))
    
        For i = 1 To UBound(Arr)
    
            d(Arr(i, 1)) = ""
    
        Next
    
        k = d.keys
    
        For i = 0 To UBound(k)
    
            Set conn = CreateObject("adodb.connection")
    
            conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName
    
            Sql = "select * from [Sheet1$] where " & title & " = '" & k(i) & "'"
    
            Worksheets.Add after:=Sheets(Sheets.Count)
    
            With ActiveSheet
    
                .Name = k(i)
    
                For num = 1 To UBound(myArray)
    
                    .Cells(1, num) = myArray(num, 1)
    
                Next num
    
                .Range("A2").CopyFromRecordset conn.Execute(Sql)
    
            End With
    
            Sheets(1).Select
    
            Sheets(1).Cells.Select
    
            Selection.Copy
    
            Worksheets(Sheets.Count).Activate
    
            ActiveSheet.Cells.Select
    
            Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
                                   SkipBlanks:=False, Transpose:=False
    
            Application.CutCopyMode = False
    
        Next i
    
        conn.Close
    
        Set conn = Nothing
    
        Application.DisplayAlerts = True
    
        Application.ScreenUpdating = True
    
    End Sub
    
    
    
    
    

    6.这里写图片描述
    7.在这里插入图片描述
    8.这里写图片描述
    9.这里写图片描述
    10这里写图片描述
    这里写图片描述
    11.这里写图片描述
    12注意:

    1)原始数据表要从第一行开始有数据,并且不能有合并单元格;

    2)打开工作簿时需要开启宏,否则将无法运行代码。

    展开全文
  • 使用这工具可以去表头合并,需要格式一样,在线工具... 如果是所有的合并成一个表点击:多Excel文件多Sheet合并(合并到一个Sheet) 填入从几行开始,即可跳过表头合并。支持多Excel文件,多Sheet(...
  • 有时候需要在一个工作簿中建立多个工作表,并且需要自定义工作表的名称,手动的一个个双击表名去修改非常麻烦,特别是这次我需要建立百多表的时候。。。。 方法:使用数据透视表功能 方法二 使用VB写模块...
  • 、原始数据表如下(sheet页名称为:数据源),需要根据B列人员所属组织拆分成每组织一个工作表。 二、进入VBE编辑页面 三、插入一个新的模块。 四、在模块1窗口粘入如下代码 ,并保存 五、通过【开发者工具】...
  • 使用Microsoft.Jet.OLEDB读取Excel文件时需要在sql中指定表名,形如[Sheet1$],也就是xls文件中的工作表。对于导入Excel文件这类操作,因为用户提供的xls...另外有办法可以获得工作表名称,以下是c#代码:  public
  • WPS 合并一个工作簿中多个工作表

    万次阅读 2019-03-03 15:47:37
    一个工作簿中有多个工作表,每个工作表的字段名称和字段数量以及字段排列顺序一致,需求是把这些工作表合并成一个工作表。 2.处理方法:通过 wps 的 vba 代码实现。 3.操作步骤: 1.在需要合并的工作表前新建...
  • VBA代码实例---一个工作表拆分为N个工作表

    万次阅读 多人点赞 2017-04-18 22:53:29
    这是一个常用而且经典的例子:根据内容,把一个工作表中的内容,拆分到N个工作表中,并根据内容命名新建的工作表。 ¤主要知识点¤ 1、影响代码执行闪屏以及提示框的处理: Application.ScreenUpdating = False ...
  • 注意:很多朋友反映sheets(i).delete这句代码出错,要注意下面第一个步骤,要拆分的数据工作表名称为“数据源”,而不是你新建工作簿时的sheet1这种。手动改成“数据源”即可。 操作步骤: 原始数据表如下...
  • 求助,用 Python openpyxl 新建了多张工作表并保存excel文件后,打开该excel时,如何使第一工作表为当前活动工作表?(打开后想要直接看到sheet1)
  • 大家都很熟悉Excel电子表格了,可是很少有人研究... 就目前而言,一个工作薄,最多能包含255个工作表。  也就是说,每工作薄,即每Exccel文件,最多只能包含255个工作表。  工作表的名称一般采用Sheet...
  • 一开始想到的方法是:第一步:先将总表拆分成多工作表,第二步:新建多工作簿,把子工作表中的内容逐个复制到对应的工作簿。第一步想到如何操作了,但是第二步效率太慢,太耗时间了。 百度了一圈后,发现有2种...
  • excel如按某列拆分成多个工作表(支持多列),或多Excel文件,或按某几列拆分成多文件。 使用这在线工具,无需vba,不用复杂的透视表,地址:http://www.excelfb.com/,点击:(按指定列)拆分成多表 ...
  • 本文使用openpyxl实现将同一文件夹下的所有Excel文件中的数据整理到一个新的Excel工作表中,待整理的数据在Excel工作簿的所有sheet中,且具有相同的表头结构。 代码如下: # -*- coding: utf-8 -*- __author__ = ...
  • 出现运行错误'3706',可将连接方式,改用DSN连接:conn.Open "Dsn=Excel Files;...分成工作簿的模块代码: Sub CFGZB()  Dim myRange As Variant  Dim myArray  Dim titleRange As Range  Dim t...
  • 最近需要筛选Excel的数据 看到网上有大神做出来的Demo 但是在mac上...Sub 如何将一个Excel工作表的数据拆分成多个工作表() Dim Arr, Rng As Range, Sht As Worksheet, Dic As Object Dim k, t, Str As String, i A
  • 用VBA对一个EXCEL中的多个工作表排序

    千次阅读 2016-12-21 17:02:30
    要求:对一EXCEL中的多张工作表进行相同的排序 第一次进行VBA代码实际操作,先录制的宏,然后再对代码进行微调。 虽然还有所欠缺,不过是第一次,记在这里做小纪念,继续努力!
  • 1、所有要汇总的工作簿在同一个文件夹中,这里以后缀为.xlsx为例; 2、需要合并的工作表名称相同(如: “sheet1”),且数据字段一样(如:A列表示序号,B列表示姓名,C列表示月工资等); 3、需要合并的数据所在...
  • 在同一个excel中,有一个工作表名为test,数据为上面图片的格式,现在需要把信息表增加销量列,员工销量需要匹配业绩表中的销量,通过Vlookupyuindex+match函数匹配出并且在另一个工作表中: 新建一个工作表,复制...
  • PHPExcel读取多工作表

    万次阅读 2018-08-24 09:21:40
    分享一个大神的人工智能教程。零基础!通俗易懂!...现在的要求是:需要在多个工作表中获取对应数据,并导入数据库; 幸亏PHPExcel已经给我们提供了获取多sheet工作表的方法。下面直接上代码:【这...
  • 第一次用到这函数还是好几年以前,有学生家长问我,如果两工作表里有部分重复的数据,怎么才能找出来?当然这两个工作表的数据都很多,所以人工检索的话工作量太大。我在网上找到了可以用VLOOKUP这函数。 ...
  • 提到修改工作表,大家浮现在脑海中的第一印象就是手动一的去修改,是可以完成任务,但是你有没有想过,当需要修改的表格有很多,我们的劳动力也会随着增多,这时会想到,有没有一种快速批量修改的方法。...
  • '新建一个对话框对象 'MsoFileDialogType 可为以下 MsoFileDialogType 常量之。 'msoFileDialogFilePicker 允许用户选择文件。 'msoFileDialogFolderPicker 允许用户选择一个文件夹 'msoFileDialogOpen 允许用户...
  • Excel:次性创建多个工作表技巧

    千次阅读 2017-03-28 21:51:32
    在日常的工作中,经常需要在一工作簿中,创建N多命名比较类似或者有规律的工作表,...第一步:制作工作表名称 DAY DATE NAME Day1 (03-02) Day1(03-02) =D4&E4 Day2 (03-03) Day2(03-03) =D4&E5
  • 种做法是通过先将每待合并表建立成查询后,再使用PQ的追加功能达到多工作表合并.但鉴于某神秘原因本人始终无法成功(原因待查....- .-).只好曲线救国,以下为步骤. 1.每待合并的工作表分别创立表.(Ctrl+T or L...
  • 工作中经常会用到excel,熟练的运营excel可以高效的减少工作量,很多人制作excel时会将不同的数据分类,就形成了一个excel中有多个工作表(sheet),但是由于某些原因需要将这些工作表单独放到一个excel中,但由于数据...
  • 比如说,将销售数据提取到各个销售部工作表、将学生名单提取到各个班级工作表…… 今天分享的内容,就是和拆分有关的那些事。 动态获取工作表名称 打开一个Excel工作薄,在某个单元格里输入公式: =CELL("...
  • 转自: ... 打开一空白xls, 按Alt+F11 进入宏编辑界面 —> 插入模块, 在右边粘贴...'功能:把多工作簿的第一个工作表合并到一工作簿的多个工作表,新工作表的名称等于原工作簿的名称 Sub Books2Sheets()  '定

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,428,591
精华内容 571,436
关键字:

如何固定第一个工作表