| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2004 人关注过本帖
标题:合并多个工作薄、合并多个工作表(复制行)——多薄多表合并(excel 外接程 ...
只看楼主 加入收藏
lxlyhu
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2013-12-12
结帖率:50%
收藏
 问题点数:0 回复次数:4 
合并多个工作薄、合并多个工作表(复制行)——多薄多表合并(excel 外接程序插件安装程序)
excel 外接程序插件——   
下载地址:
多薄多表合并mergebooks570_setup.rar (7.42 MB)

几十上百个工作薄、几百上千个工作表,要汇总?怎么办?复制、粘贴……?搞死人,而且易出错!多薄多表合并,一键帮你搞定!——  Mergebooks.dll
多薄多表合并——excel 外接程序插件
使      
一、功能:
1、多薄合并:将当前文件夹下所有工作薄合并到一个自动新建的“合并表”工作薄中(可以选择是否包含其子文件夹)。名称相同的工作表合并,名称不相同的工作表移到自动新建的“合并表”工作薄中。可以选择“合并整个工作薄中的所有工作表、按位置选择的工作表、按名称选择的工作表”,还可选择 “保留重复行(默认)”、“去除重复行”。默认:按工作表名称合并当前文件夹下的所有工作薄。
如果工作簿中每个工作表的表头行数各不相同,则可以根据表头行数的多少,分几次进行合并,即每次只合并几个表头行数相同的工作表;第一次可在当前文件夹下的任何一个包含所有工作表的工作簿中使用“多簿合并”,第二次及以后则应在自动生成的“合并表”工作薄中使用同样的操作即可。
多表合并:将当前工作薄中多个工作表合并到一个自动生成且位于最后的“合并表”工作表中。可以选择“合并所有工作表、选择的工作表”,还可选择“保留重复行(默认)”、“去除重复行”。
多簿合并、多表合并:合并表头(标题行)以下的所有内容;要合并的表格格式必须相同,表头标题所在的行号必须相同。
撤销功能(工作簿左上角的按钮):大多数操作都能撤销到工作簿保存前的状态(下同)。
特殊合并:将当前文件夹下所有工作簿(或选择的多个工作簿)中所有工作表(或选择的工作表),按照所选择的单元格区域中数据(左侧标题+右侧内容、上端标题+下端多行内容)提取成列表样式,并放置在自动生成的“特殊合并”工作表。注意:两种格式的数据在选择时都可以按住ctrl键同时选择多个数据排列格式相似的区域。
2、多表汇总:既可以汇总多个工作簿中与当前工作表名称相同的工作表(其它工作表不汇总),也可以汇总当前工作簿中多个工作表;既可以汇总行列固定的表格,也可以汇总行列不固定的表格;既可以根据所选择的单元格区域的左侧标题、顶端标题(可单选或双选)进行匹配汇总,也可以根据所选择的单元格区域的绝对位置对应汇总(此时不能选择左侧标题和顶端标题);既可以汇总单个单元格区域,也可以同时汇总多个不连续的单元格区域(按住Ctrl键可选择多个不连续的单元格区域);既可以求和,也可以求平均(计数、只统计数字),还可以重新选择单元格区域进行求和(平均、计数),可反复多次使用。
要求:只能对所选择的单元格区域中的数字进行汇总,不能包含文本或文本型数字(首行首列除外)。所选择的单元格区域位置必须相同;对行列不固定的表格进行汇总时,所选择的单元格区域的第一个单元格位置必须相同,而且要尽量选择表格中有可能出现的最大行列区域。根据左侧标题和顶端标题进行交叉汇总后,相同的(左侧)行标题和(顶端)列标题会合并成一个,其对应数据会汇总;所有工作表中的行标题和列标题的个数和顺序不一定相同,但汇总后会全部“合并”在一起。可以在任何包含所有工作表的工作簿中启用该功能,自动生成“多簿汇总”工作簿(或“多表汇总”工作表)。
3、拆分表格:
⑴拆分(重组)工作薄:可以把一个工作簿中的多个工作表拆分成多个工作簿,也可以把多个工作簿中名称相同的工作表重新组合到一个工作簿中。工作薄与工作表名称互换。(默认)把当前文件夹下所有工作薄、或选择的多个工作薄中名称相同的工作表重新组合到一个新工作薄中。建议:在拆分多个工作簿前先做好备份,防止出错丢失数据。(如果该文件夹下存在工作簿名称与工作表名称相同的情况,则拆分时会出现错误。)
⑵拆分工作表:按表头标题行(字段)将不同行内容拆分成多个工作表:将表头字段(当前单元格)以下各行不同内容拆分为不同的工作表。按所选择的固定大小的单元格区域拆分成多个工作表:根据所选择的固定行列数的单元格区域将工作表的当前区域及以下和其右的数据区域拆分成多个工作表;按某列单元格位置及其内容向下拆分成多个工作表:根据所选择的某个单元格所在的位置及其相似内容将工作表向下拆分成多个工作表;按 “模板”工作表样式拆分成多个工作表:根据所选择的单元格(列标题)以下的内容按字段对应方式和模板工作表样式进行拆分或打印数据源工作表中的内容。注意:工作表中必须有一个标签名为“模板”的工作表,“模板”工作表样式为左侧单元格为字段名称,右侧单元格为待填写的字段内容。
(3)拆分某列单元格内的序列数值区间:拆分所选择的单元格中用英文逗号、句号等代表的不连续的数值区间(或用短横线代表的连续数值区间)。
(4)合并某列单元格内的序列数值区间:合并所选择的单元格(或某列中连续的单元格或整列单元格内的序列或数字区间),用英文短横线代表连续的区间。
(5)行列转置(表头多行多列):根据所选择的(不包含表头行)的单元格区域和输入的表头行数(列数根据选择的单元格数据区域自动计算),将多行多列的数据区域转换成多行。
(6)行列转置(表头一行多列):根据所选择的(包含表头一行列字段)的多列数据区域转换成多行。
4、跨表查询:从当前文件夹(可以选择是否包含其子文件夹)下的所有工作薄(或选择的工作薄、或当前工作薄)的所有工作表(或当前已选择的工作表、或当前工作表)中查找所选择的表头(字段)内容,并将查找结果放到一个自动生成且位于当前工作薄最后的“查询”工作表中。如果没有选择字段,则默认为*(即:忽略字段名,把各个工作表数据合并到“查询”工作表中)。既可查询行列不固定的表格,也可(选择“最后一行的行号”)查询行列固定的表格,还可对数据源不在第一列的表格(在SQL框中修改单元格区间)进行查询。可编辑SQL查询条件。查询要求:工作表名称相同、单元格区间对应。注意:如果查询包括子文件夹下的所有工作薄,则子文件夹中不能有与当前工作薄名称相同的工作薄,而且所有工作薄的“查询”工作表不会被列入查询之列。
5、多薄修改:将已选择的单元格(或多个单元格)中的数据(或公式)修改到当前文件夹下的所有工作薄(或选择的工作薄)的对应工作表的相应单元格中。
    6、批量打印:打印某一文件夹(或当前文件夹)下的所有工作薄,可以选择打印“整个工作薄”、按名称“选定工作表”、按位置“指定工作表”,可选择“打印份数”、“逐份打印”。手动双面打印:打印当前工作表,可以手动选择先打印奇数页,再打印偶数页,而且打印偶数页时,可以取消“顺序打印”,使其逆向打印。但是,如果总页数是奇数时,在逆向打印偶数页时,应先把最后一个奇数页拿出来,再逆向打印偶数页。共享工作薄:将所选择的多个工作薄批量设置为共享工作薄(或取消共享)。批量另存为PDF文件:将所选择的多个工作薄批量另存为PDF格式(整个工作薄,或单个工作表,仅excel2007以上版本中才可使用此功能)。批量保护表格:可以分别“批量保护工作簿”、保护当前工作簿中的已使用区域、表格中的公式、当前选择的单元格区域。
7、插入图片:匹配所选择的单元格区域中无后缀的图片名称,或直接选择图片插入到其它选择的单元格中(或做为批注)。可以插入到“当前工作薄”、当前文件夹下的“所有工作薄”、“选择的工作薄”中的“当前工作表”或“所有工作表”中。单元格按位置、工作表按名称对应插入图片。批量导入Word表格:可将所选择的多个Word文档中的表格批量导入到当前工作簿的多个工作表中。批量插入(或删除)序列编号:在所有工作表(或选择的部分工作表)中的某列批量插入(或删除)由“字符+数字”或“纯数字”组成的序列编号,还可以选择工作表是否连号。批量插入(或删除)分页小计(累计):在当前工作簿的当前工作表(或所选择的工作表)中,或其它所选择的工作簿中与当前工作表名称相同(或位置相同)的工作表(或所有工作表)中插入(或删除)分页小计(累计)。
8、分类汇总:对所选择的单元格区域中各文本列均相同的其它数字列进行汇总(求和),并将汇总结果放置一个待选择的单元格区域中。分类汇总2:根据所选择的单元格区域的首列中的各行进行分类汇总,对第2列及其后各列中的数字求和,文本用逗号连接,并将结果保存在下一个选择的单元格区域中。分类汇总3:根据所选择的单元格区域的首列中的各行进行分类汇总,对第2列及以后各列中的数字求和,文本用逗号连接且计数,并将结果保存在下一个选择的单元格区域中。
9、数据匹配:表格比较:比较两个表格区域,从表格1中查找与表格2相同的数据行,对相同的行(记录)标注底纹颜色(或字体颜色)。两个选择的表格区域既可以有标题(字段)行,也可以没有标题行。如果有顶端标题行,则两个表格的字段顺序可以不相同;但是,表格2的字段个数不能多于表格1的字段个数。比较后,可以分别点击右边的“单元格区域”标签,则可分别切换两个表格,且自动选择两个表格区域中已标记的相同行,可复制、粘贴到其它地方。本功能既可以跨工作表,也可跨工作薄。提取中文:从所选择的单元格区域中提取中文,并放置到所选择的另一个单元格区域(可以选择一个单元格,也可以选择多个单元格,也可以选择几个整行整列,下同)。提取英文:从所选择的单元格区域中提取英文。提取数字:从所选择的单元格区域中批量提取数字。去除中文:从所选择的单元格区域中批量去除中文。去除英文:从所选择的单元格区域中批量去除英文。去除字符串前面的所有0:从所选择的单元格区域中批量去除前面的所有0。提取单元格内的金额并汇总:提取单元格内“元”字以前的所有数据并汇总(忽略“合计”和日期)。凑数工具:从选择的两行(或两列)单元格区域中筛选出符合某总数的组合数(第一行或第一列为字符串型的产品名称,第二行或第二列为数值型数据)。
10、数据有效性:生成数据有效性:将所选择的单元格区域的数据生成数据有效性下拉列表并放置到重新选择的单元格区域中。删除数据有效性:删除所选择的单元格区域中的数据有效性,并保存所选择的数据。多行多列转换成一行:将所选择的单元格区域内的数据转换成一行;多行多列转换成几列:将所选择的单元格区域内的数据转换成指定的几列。
11、插入空行:在当前单元格下隔行插入空行。插入工作簿名称(超链):在单元格区域中插入当前文件夹下所有工作薄或选择的工作薄的名称,可建立超级链接)。插入表头:在所选择的表头区域下方,隔行插入表头(如:工资条)。二维码/商品条码生成器:可以手工在文本框中录入文字,自动生成二维码图片,点击二维码,则提示保存图片,选择文件夹,输入图片名称即可保存;也可以根据已经选择的单元格区域内容批量生成二维码,既可以将二维码图片插入表格,也可插入为批注,还可导出保存图片。可以根据所选择的单元格内容生成商品条码,并插入到单元格中,(还可偏移几行);也可以手工输入数字生成商品条码,并插入到所选择的一个(或多个)空白单元格中。可以设置商品条码的参数(样式、子样式、数据校验位、线粗、宽度和高度)。如果要将商品条码保存为批注,则必须先插入为图片,再插入批注。可以分别删除二维码和商品条码图片,也可以删除批注,还可保存图片到某个文件夹中。在excel2010中插入商品条码后,如果大小与窗口中的不一致,可以在“开发工具”中点点两次“设计模式”即可;在excel2003中有可能先要设置成“设计模式”才能插入商品条码,而且也要点击一次“设计模式”才能确保大小与窗口中的一致。备注:第一次启用“二维码/商品条码”窗口时,可能会提示“是否信任该控件”,就选择“信任”;如果没有出现“二维码/商品条码”窗口,则应按照以下步骤进行一下设置:文件——选项——信任中心——信任中心设置——取消“禁用所有控件,并且不通知我”前的单选按钮,可选择第二个单选按钮,逐步点“确定”退出设置,再选择此功能。正则表达式批量提出某列字符串中的数据:可以将当前已选择的某列中字符串按照手工输入的正则表达式规则提取数据,并将提取的结果放置到指定的偏移列及其后位置,功能比“分列”更强大、更灵活。如果该列下方或右侧有数据,可分别选择”单元格向右移、单元格向下移、插入整列”,防止提取的数据覆盖原有数据。点击窗口右下角的向下箭头,可以打开正则表达式的规则窗口,可实时学习正则表达式的语法规则,可按住Ctrl和C键来复制相应代码,使用Ctrl和V来粘贴。正则表达式起源于人类对脑神经的研究,由于其强大的功能,被广泛应用于编程中。该工具直接解决实际需求,让非编程人员也能使用正则的强大功能,不仅限于程序员了。非编程人员只要掌握了正则中字符的意思和组合规则,就可从复杂的字符串中提取出所需的数据,用简单的字符组合完成复杂的应用,这就是正则的神奇之处。该工具让普通人也能使用正则完成复杂的功能了。
12、清除数据:清除当前选择区域中的数据和格式。删除空行:删除当前单元格以下的所有空行或0值行。删除某行:删除当前单元格以下含有某内容的所有行。删除单元格区域的重复值:删除所选择的单元格区域中的重复值。删除表格中的重复行:删除表格中的所有重复行(即表头以下所有各列内容均相同的行)。删除批注:删除所选择的单元格区域的全部批注(图片)。删除数据有效性:删除所选择的单元格区域中的数据有效性,并保存所选择的数据。去除单元格内的重复:删除当前所选择的单元格中用逗号、顿号、(反)斜杠等分隔的重复值。删除表格中指定行以下的所有数据:清除当前工作表或当前工作薄中所有工作表的指定行以下的所有数据。 默认“取消”按钮(即按Enter后)仅清除当前工作表中指定行号以下的所有数据。
13、特效开关:开启/关闭高亮显示当前单元格所在的行列效果,避免看错行列。鼠标放在表格已使用的单元格区域之外时不显示特效。表格切换:可以选择并切换当前工作簿中的其它工作表;选择“工作簿”复选框可以打开当前文件夹下的其它工作簿。隐藏错误:隐藏所选择的单元格内的公式计算错误。显示错误:显示公式计算错误。破解密码:破解VBA工程密码或工作表密码保护。
14、收发邮件:点击“登录邮箱”后,自动打开登录邮箱窗口。“群发邮件”可以在excel中给多个邮箱发送邮件。在批量群发邮件前,首先要在准备发信的邮箱中“开启POP3/SMTP”功能,(QQ邮箱中开启POP3/SMTP功能时,需手机验证,按要求输入指定的内容到指定的号码中,并给用户分配一个群发邮件时使用的新密码,163和新浪在群发邮件时只需输入邮箱登录密码即可)。点击“群发邮件”后,会依次弹出“收信人、邮件主题、邮件内容、附件”选择对话框,需依次选择表格中某一列内容,最后弹出的“发信人、密码”输入框,按要求输入,即可给多个邮箱发送不同内容和附件的邮件(附件需在某列中输入文件的路径和文件名及扩展名,多个附件可用英文分号分隔),每隔6秒左右发送一个邮件,如果群发的邮箱比较多,需耐心等待一会,发送完成后会弹出发送成功与否的提示框。点击“发送”按钮可给多人发送相同内容的邮件,并可添加附件(发送邮件后下拉列表框中会显示邮箱地址)。
15、合并单元格:将所选择的多行多列单元格区域中内容相同的相邻单元格批量横向合并;单列则纵向合并。取消合并:取消合并并自动填充内容。行选择:根据所选择的一个(或多个)单元格(区域)选择整行数据。列选择:根据所选择的一个(或多个)单元格(区域)选择整列数据。公式转数值:将选择的单元格区域中的公式直接转换成数值(不保留公式)。
16、设置单元格区域格式:将所选择的一个(或多个)多行多列的单元格区域设置成“常规”(或文本、日期、数值、货币、会计专用)格式。
17、函数
Vlookupcols(查找值,查找区域,返回列-可正可负,分隔符-默认为英文逗号-可选参数),功能:查找某值的其它列中的所有行数据并用分隔符连接起来。
Conectstr(单元格区域,连接符-可选参数),功能:用分隔符连接单元格区域中的数据
Countstr(单元格,-默认为英文逗号-可选参数),功能:统计单元格中用分隔符分隔的子字符串个数。
Sumnum(单元格,-默认为英文逗号-可选参数),功能:汇总单元格中用分隔符分隔的数字。
Countnum(单元格,-默认为英文逗号-可选参数),功能:统计单元格中用分隔符分隔的数字个数。
RMBS(单元格),功能:人民币大写。
Ages(单元格),功能:从身份证中提取年龄。
Age(从某年月日,到某年月日),功能:计算年龄或工龄。
Sexs(单元格),功能:从身份证号码中提取性别。
Birthdays(单元格),功能:从身份证号码中提取生日。
toScr(单元格, 可选参数true或false):把小数111.8028转换成经纬度111°48′10.4″或时间111:48:10.4 ,默认为false(小数)
toNum(单元格, 可选参数true或false): 把经纬度111°48′10.4″或时间111:48:10.4转换成小数111.8028 ,默认为false(小数)
numsCount(统计单元格内字符串中序列区间的个数,默认为英文逗号-可选参数):统计单元格内序列(数值)区间个数,包括英文逗号(或其它符号)、英文短框线代表的数值区间长度
二、注意:
1、下载、安装时可能受360警告、拦截,甚至被当做木马病毒直接灭了,这是360对未知程序的正常处理方式,选择“添加信任”、“信任程序所有操作“、“直接运行”即可,如果被消灭了,可以找回。
2、安装不上的原因:
A、只能在32位excel2003/2007/2010/2013/2016/365/2019等所有版本上安装和使用;不支持64位excel,WPS能否安装尚不确定且功能受限。可在32位或64位的winXP、win7、win8、win10系统上安装。
B、看是否被自动列入“禁用项目”。可手工启用:文件——选项——加载项——(窗口下面的)管理(后的下拉框中选择)——禁用项目——(点击右边的)转到——打开“禁用项目”对话框——选择Meregbooks——(选择)启用。
C、必须以“系统管理员身份”才能安装和注册成功;方法:右击Mergebooks_setup.exe——属性——兼容性——(选择)以兼容模式运行这个程序;右击Mergebooks_setup.exe——(选择)以管理员身份运行。
D、手工注册:a、开始——运行——cmd   b、输入cd C:\Users\Administrator\AppData\Roaming\Microsoft\AddIns  c、输入regsvr32  Mergebooks.dll 后会提示注册成功的信息。
E、缺少相关控件:excel2013/2016建议先安装压缩包里的“VB迷你版”。
3、多薄合并、多表合并:要处理的工作薄(或工作表)格式必须相同,表头的字段名称、个数、位置、顺序必须一样。多表汇总:所有要汇总的表格中,所选择的单元格区域的起始单元格位置必须相同;对行列数不固定的表格,要选择某个表格中有可能出现的最大行列数区域。跨表查询,要查询的表格的字段(列标题)个数和顺序可以不同,但只能查询共有的字段,而且字段中不能包含括号等SQL语法中的非法字符。
4、插件功能在不断扩充和完善中,欢迎加入“Mergebooks.dll学习交流 545172384”,以便及时更新和升级插件,而且从群文件夹可以查看相关动画教程;希望提出宝贵意见和建议。
三、安装使用:
安装完成后,在excel203工具栏或excel2010功能区“多薄多表”选项卡中会有下图中的工具栏或功能区按钮。默认安装位置: C:\Users\Administrator\AppData\Roaming\Microsoft\AddIns\mergebooks.dll
1、Excel2003/2010中调出/安装“多薄多表”方法:
第一步:excel2003中先把“COM加载项”拖到工具栏上(如有,可省略);excel2010中先调出“开发工具:“文件——选项——自定义功能区——开发工具”。
第二步:excel2003中点击“COM加载项”或excel2010点击“开发工具”——“COM加载项”——进入“COM加载项”窗口(如图所示)——点击右边的“添加”按钮——选择“Mergebooks.dll”——确定——(返回)“COM加载项”窗口——把左边窗口中的“Mergebooks”打上勾——确定。





   
 
 

开发者邮箱:hu73248@;或QQ:249165513


[此贴子已经被作者于2018-7-28 20:03编辑过]

2014-04-03 11:04
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:0 
对于熟练运用VBA的用户,动态库神马都是浮云呐。
2014-04-04 15:56
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
收藏
得分:0 
回复 楼主 lxlyhu
可以分享下代码吗?
2014-04-10 23:05
lcwdbzx2008
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2018-4-19
收藏
得分:0 
多个工作薄中的多个工作表中的数据提取到一个工作薄中的多个工作表中,怎么不能实现?类似于:多个人输入自己的多张工作表数据,把这些多张工作薄中多张工作表汇总到一个工作薄中各工作表对应的位置。
2018-12-10 20:36
cdw5568
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2019-10-29
收藏
得分:0 
多薄合并,怎么没有附件?
2019-10-29 18:13
快速回复:合并多个工作薄、合并多个工作表(复制行)——多薄多表合并(excel 外 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021417 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved