精华内容
下载资源
问答
  • WPS 合并一个工作簿中多个工作表

    万次阅读 2019-03-03 15:47:37
    1.目的: 一个工作簿中有多个工作表,每个工作表的字段名称和字段数量以及字段排列顺序一致,需求是把这些工作表合并成一个工作表。... 查看代码,在合并工作表这个 sheet 页中编写以下代码 Pri...

    1.目的:

         一个工作簿中有多个工作表,每个工作表的字段名称和字段数量以及字段排列顺序一致,需求是把这些工作表合并成一个工作表。

    2.处理方法:通过 wps 的 vba 代码实现。

    3.操作步骤:

       1.在需要合并的工作表前新建一个工作表用来存储合并后的数据。

    2.点击  开发工具 ===> 查看代码,在合并工作表这个 sheet 页中编写以下代码

    Private Sub sheets()
    Application.ScreenUpdating = False
    '合并工作表

    '循环遍历每个工作表
    For j = 1 To Workbooks(1).sheets.Count
        '判断遍历的工作表是否是合并后的那张工作表
       If Workbooks(1).sheets(j).Name <> ActiveSheet.Name Then
            '如果不是,定义所遍历的工作表数据行数
           X = Range("A65536").End(xlUp).Row + 1
            '把所遍历的工作表中的数据复制到合并的那张工作表中
           Workbooks(1).sheets(j).UsedRange.Copy Cells(X, 1)

       End If

    Next j


    '删除多余的表头
    Dim i As Integer, Cons As Integer
        '定义合并后工作表的数据行数
       Cons = Range("A65536").End(xlUp).Row
       '通过上面方法合并工作表后会存在第一行没有数据,所以删除第一行
       Range("A1").EntireRow.Delete
       '从后往前遍历合并后的工作表第一列数据
        For i = Cons To 3 Step -1
            '判断是否是需要删除的字段名
            If Range("A" & i) = "序号" Then
                '如果是,执行删除
                Range("A" & i).EntireRow.Delete
            End If
        Next i


    Range("B1").Select

    Application.ScreenUpdating = True

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

    End Sub
     

    3.编写完成后,选中 运行,直接执行就行了。

    4.问题

          1.编写的 vba 代码会把每个工作表中的第一行表头都复制过来,所以需要有删除多于表头这一步。

          2.合并后的工作表中第一行没有数据,所以需要在删除多于表头这一步中多写一步删除第一行

         3.此代码需要在 "WPS 表格对象"新建的工作表中编写

    5.参考文档:

           https://blog.csdn.net/eastmount/article/details/79456784

    展开全文
  • 1. WPS 在开发工具栏目找到VC编辑器, windows 新建一个sheet 然后在sheet上右键选择查看代码 2.进入代码编辑器新建模块将以下代码复制粘贴,然后运行,最后完成合并 Sub MergeSheets() '工作簿内合并所有工作...

    1. WPS 在开发工具栏目找到VC编辑器,
       windows 新建一个sheet 然后在sheet上右键选择查看代码
     
    2.进入代码编辑器新建模块将以下代码复制粘贴,然后运行,最后完成合并
       

    Sub MergeSheets() '工作簿内合并所有工作表
        Dim sheetsCount As Long '定义 工作簿内工作表数量 赋值为 sheetCount 数据类型为 Long(长整型)
        Dim rowCount As Long '定义 汇总表行数 赋值为 rowCount 数据类型为 Long(长整型)
        Dim i As Long '定义 循环标识 赋值为 i 数据类型为 Long(长整型)
        With ThisWorkbook
            sheetsCount = .Sheets.Count '获取工作表总数量
            .Sheets.Add After:=.Sheets(.Sheets.Count) '新建一个工作簿
            .Sheets(.Sheets.Count).Name = "汇总" '设置新建工作簿名为 汇总
            For i = 1 To sheetsCount
                .Sheets(i).UsedRange.Copy '逐个循环复制表内已使用单元格区域
                With .Sheets("汇总")
                    rowCount = .Range("A" & 2 ^ 20).End(xlUp).Row + 1 '粘贴前获取 汇总 表中已使用单元格行数的下一行行数
                    .Range("A" & rowCount).Select '选中A列该行所在单元格
                    .Paste '执行粘贴
                End With
            Next
            .Sheets("汇总").Move before:=.Sheets(1) '把汇总表移动到开头
        End With
    End Sub

    上述代码如果有异常,请使用下面的

    Function LastRow(sh As Worksheet)
       On Error Resume Next
       LastRow = sh.Cells.Find(what:="*", _
                               After:=sh.Range("A1"), _
                               Lookat:=xlPart, _
                               LookIn:=xlFormulas, _
                               SearchOrder:=xlByRows, _
                               SearchDirection:=xlPrevious, _
                               MatchCase:=False).Row
       On Error GoTo 0
    End Function
     
    Sub MergeSheets()
       Dim sh As Worksheet
       Dim DestSh As Worksheet
       Dim Last As Long
       Dim shLast As Long
       Dim CopyRng As Range
       Dim StartRow As Long
     
       Application.ScreenUpdating = False
       Application.EnableEvents = False
     
       '新建一个“汇总”工作表
       Application.DisplayAlerts = False
       On Error Resume Next
       ActiveWorkbook.Worksheets("汇总").Delete
       On Error GoTo 0
       Application.DisplayAlerts = True
       Set DestSh = ActiveWorkbook.Worksheets.Add
       DestSh.Name = "汇总"
     
       '开始复制的行号,忽略表头,无表头请设置成1
       StartRow = 2
     
       For Each sh In ActiveWorkbook.Worksheets
     
           If sh.Name <> DestSh.Name Then
               Last = LastRow(DestSh)
               shLast = LastRow(sh)
     
               If shLast > 0 And shLast >= StartRow Then
     
                   Set CopyRng = sh.Range(sh.Rows(StartRow), sh.Rows(shLast))
     
                   If Last + CopyRng.Rows.Count > DestSh.Rows.Count Then
                       MsgBox "内容太多放不下啦!"
                       GoTo ExitSub
                   End If
     
                   CopyRng.Copy
                   With DestSh.Cells(Last + 1, "A")
                       .PasteSpecial xlPasteValues
                       .PasteSpecial xlPasteFormats
                       Application.CutCopyMode = False
                   End With
               End If
           End If
       Next
     
    ExitSub:
       Application.GoTo DestSh.Cells(1)
       DestSh.Columns.AutoFit
       Application.ScreenUpdating = True
       Application.EnableEvents = True
     
    End Sub

     

    展开全文
  • 也就是说在同一个工作薄中的两个工作表sheet1根sheet2中的数据如何求和或者是合并内容;今天,小编就教大家在Wps中进行两个不同sheet表数据求和的操作方法。Wps中进行两个不同sheet表数据求和的操作步骤如下:首先想...

    excel中那两个不同的表单sheet中的数据如何求和?也就是说在同一个工作薄中的两个工作表sheet1根sheet2中的数据如何求和或者是合并内容;今天,小编就教大家在Wps中进行两个不同sheet表数据求和的操作方法。

    Wps中进行两个不同sheet表数据求和的操作步骤如下:

    首先想要实现该功能,必须是建立在同一个工作薄中,也就说的同一个excel文件中,打开该文件表;

    数据表一中数据有数据sheet1蓝色字体显示;数据sheet2红色字体代表;分别位于两个不懂的工作表中;

    如果想要求和两个工作表中的数据,首先选择一个空白的单元格,然后在单元格中手动属于等于号“=”;再次在sheet1中选择空白的单元格属于等于号;

    然后再分别在两个工作表中也就是sheet中选择两个数据求和,先点击sheet1然后在显示的数据里面属于加号“+”;

    然后再到sheet2中选择一个数据,注意上面的显示是不是有所不一样出现了“=B2+Sheet2!B3”,表示两个不同工作表之间的求和。

    再回到sheet1中查看,已经把两个不同sheet中的数据求和,然后你再双击点击求个的那个单元格,就会显示出求和公式。

    Wps中进行两个不同sheet表数据求和的操作

    展开全文
  • [Office] WPS Excel通过添加宏实现多张表格合并

    万次阅读 热门讨论 2018-03-06 14:20:15
    在我们使用Excel时,...本文主要介绍WPS Excel宏,讲述两种自动汇总表格数据的方法,通过VB代码实现。一、合并当前文件夹下所有文件表格假设存在如下贵州省九个市州的数据,如下图所示:打开每个表格的格式都一样...

    在我们使用Excel时,通常会遇到让各个地区、各个学院或下属单位收集数据的情况,有时还会每月、每周,甚至是每日调度数据,而当我们得到了这些Excel文件表格之后,很多同志会进行人工手动汇总,这大大降低了办公的效率。本文主要介绍WPS Excel宏,讲述两种自动汇总表格数据的方法,通过VB代码实现。



    一、合并当前文件夹下所有文件表格


    假设存在如下贵州省九个市州的数据,如下图所示:


    打开每个表格的格式都一样,安顺市显示如下图所示。注意,如果是向下属单位收集数据,通常需要固定好格式,方便汇总生成透视图形,形成最终的报告。



    第一步 创建一个新的xls文件,比如“汇总.xls”。

    第二步 在“开发工具”中选择“VB编辑器”,如下图所示。



    第三步 在弹出的Microsoft Visual Basic界面中,选择“Project”中的“Sheet1”。




    输入如下代码并点击运行按钮。

    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

    第四步 汇总数据如下图所示,同时汇总完成之时会提示对话框。



    同时删除多余的表头,然后简单修订如下图所示:


    最终输出表格如下所示:





    注意,在汇总过程中如果出现最后一行为备注事宜,建议删除只保留统计的数据;同时如果其他Sheet有数值,建议也删除,否则它也会被复制至汇总表。


    第五步 选中所有数据,然后在“数据”栏中点击“数据透视表”。



    第六步 选择的字段进行透视汇总,比如统计各市州所包含的县市区。




    同时,可以汇总各式各样的数据,如下图所示:




    二、合并当前文件各个子Sheet数据


    下面讲解第二种方法,对当前Excel文件中的各个Sheet进行汇总,步骤和上述方法一样,重要的是这段VB宏代码。假设存在黔东南州、安顺市、毕节市,如下图所示:


    代码如下:

    Sub 合并当前工作簿下的所有市级分表工作表()
    Application.ScreenUpdating = False
    For j = 4 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
    


    最后希望文章对您有所帮助,如果存在不足之处,请海涵~
    (By:Eastmount 2017-03-06 下午3点  http://blog.csdn.net/eastmount/ )




    展开全文
  • 上接 Java POI Excel sheet [url]http://zhuyufufu.iteye.com/blog/2033386[/url] 在使用程序合并Excel的过程中可能会遇到下面两个问题: [b]此文件中的某些文本格式可能已经更改,因为它已经超出最多允许...
  • wps2016版 现有多个Excel表格,形式一样,就数值不一样,如何把他们合并成一个Excel表呢
  • 1. 利用 WPS文字实现邮件合并WPS文字中提供了一系列丰富的API支持邮件合并的操作。接下来通过WPS API实现打印工资单的功能,以进一步了解WPS文字的“邮件合并”功能。1.1. 建立数据源在开始进行邮件合并操作之前...
  • 但我们应该思考,凡是重复性的劳动,肯定有快速完成的技巧,WPS中“邮件合并”的技能,尝试着摸索了下,5分钟就完成了500人的开工证明,接下来直接打印就行了。 具体操作如下(以个人常用的WPS文档为例): 1、首先...
  • 多个excel合并为一个excel的多个sheet

    千次阅读 2019-04-08 18:24:42
    注意:用excel(excel2013等)而非wps 步骤:1.新建汇总excel 2.用excel打开工作表汇总,删除其余两个sheet,留下一个改名汇总(随意命名) 3.鼠标放在汇总sheet页,然后右键,点击查看代码(或者alt+F11--》...
  • 1、考虑了Excel新建Sheet的命名规则 2、考虑的xls 和 xlsx文件(office2007前后的版本) 3、考虑的子程序会不会对使用者造成误导,所以全部更改为Function F、考虑到新建Excel的命名优化 5、考虑到隐藏工作表...
  • 实现一张A4纸上能够打印6个学员证,利用excel数据源和word(wps)的邮件合并功能实现批量打印 1.首先我们要准备好数据源,以本文为了,excel表中保存了学员信息。 2.打开word(wps),可以通过表格布局的方式,制作3行...
  • 1 #!/usr/bin/env python3 2 3 # -*- coding: UTF-8 -*- 4 5 import pandas as pd 6 import os 7 import re 8 9 if __name__ == '__main__': 10 Folder_Path = '/root/XmlOut/' ...12 ...
  • (1)打开工作簿文件EX.ET(内容如下),将工作表sheet1的A1:D1单元格合并为一个单元格,内容居中;计算:“销售额”列的内容(销售额=数量×单价),将工作表命名为“材料厂库存情况。”某书店图书销售情况...
  • 作者:小北童鞋来源:芒种学院(ID:lazy_info)一直被问是使用Office还是WPS好?其实这两个软件各有优点,Office功能更...更便捷的傻瓜式一键合并拆分文档;更加便捷地制作傻瓜式的演示图表;内置特色功能HR助手/文...
  • 多个工作表合并说明: 1、需要将合并的工作移到同一个文件夹下; 2、只统计合并SHEET1工作表,数据从第二行开始汇总, 3、工作薄数量不要太多,
  • wps js宏操作自定义序列列表。
  • 合并多个excel表格

    2019-08-08 10:51:55
    目的: 合并很多个表格到一个表格(一个sheet1里),1000+多个手动合并好麻烦 步骤: 首先把所有的excel/wps表格放在一个文件夹下面, 打开一个新的excel表格,点击数据----新建查询—从文件----从文件夹,选中路径...
  • WPS Office 2019是一款国内最热门的办公软件,持手动顺序双面打印、手动逆序双面打印、拼页打印、反片打印应用,用户想怎么打,就怎么打。随时随地办公的乐趣,想要得到吗?使用快盘、Android平台的移动WPS Office,...
  • WPS表格复习整理

    2018-08-05 11:51:08
    就是当前日期,按住CTRL+‘,就是当前时间,我觉得应该是半角的 按住CTRL拖动sheet,就可以复制并移动,快速删除大部分工作表,批量新建工作表,在选项常规与保存的高级里有批量新建工作表 工作表的个性化设置,保护...
  • WPS之表格

    2021-01-24 21:31:10
    就是当前日期,按住CTRL+‘,就是当前时间,我觉得应该是半角的 按住CTRL拖动sheet,就可以复制并移动,快速删除大部分工作表,批量新建工作表,在选项常规与保存的高级里有批量新建工作表 工作表的个性化设置,保护...
  • 这篇文章主要是我最近工作使用WPS Excel的一些常用技巧和方法,仅仅是一篇在线笔记。当然实际操作中,你遇到问题百度经验或相关网站会提供对应的解决方法,而且它们写得更好,这篇文章更多的是结合自己使用学到的...
  • 将要合并的excel表全部...执行vba.xls里面的“表合并”宏,即可完成合并和数据行数统计,结果在新建的excel文件中的最后两张sheet中。 (统计行数的数组设为200维,若有更多张表,可进自行修改arr和str_arr数组维数)
  • excel多个文件合并

    2016-11-08 09:45:00
    多个excel文件合并成一个需要用ms office wps是不行的 1.将所有文件放在一个文件夹里 2.在文件夹里新建一个空的excel打开 右键sheet点击查看代码->输入下面代码->运行 稍等一会儿 就将所有excel文档合在...
  • 然后新建Sheet3 因为我只对 数据进行处理所以在Sheet3中选择前两张表第一个数据出现的位置,即C3 使用IF函数: 在前两张表中选择C3位置 =IF(Sheet!C3<>Sheet1!C3,""&Sheet!C3&"("&Sheet1!C3&...
  • 介绍一个强大的库openpyxl这个库非常易于使用,不论是wps的excel还是office的wps都可以使用,下面来介绍一下基本操作  1.从已经存在的excel中读取数据 #filename为要读取的excel的路径 wb=load_workbook...
  • poi 合并单元格

    2018-10-21 12:29:26
     * 获取合并单元格的值   *   * @param sheet   * @param row   * @param column   * @return   */   public static String getMergedRegionValue(Sheet sheet, int row, int...
  • 合并就是,我们选择一段连续的单元格,点击合并,这时候,EXCEL会提示如果合并只会显示第一个单元格的数据,而且其他单元的的数据也会没掉. 假合并是指:如果我们用一个已经合并的单元格,格式刷要合并的单元格,这时候...
  • 0. 引言前两天整理了一篇使用Word中的邮件合并功能实现使用Excel数据源填入Word指定位置,从而批量生成相似文档的功能,实际上是在为今天的这篇文章做铺垫。这次我打算实现的功能是通过Python来批量将Excel数据填入...
  • WPS客户端更新日志留着备用

    千次阅读 2018-08-10 17:33:00
    WPS Office (10.1.0.7520)==========================================新增功能列表------------WPS文字1 拼写检查:新增“中文拼写检查”功能 WPS公共1 实时预览:支持字体和字号实时预览2 发送至手机:云服务选项...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 550
精华内容 220
关键字:

wps合并sheet