Re: [算表] 各别合并不同档案内的第二及第三工作表

楼主: docse (可爱到犯规)   2016-07-11 23:21:50
※ 引述《faeriay (...)》之铭言:
软件: Excel
版本:Office 2013
我有上百个以下的EXCEL档案,每个档案内都有三个工作表,分别表示受访者的各类表现
每个类别的工作表格式相同,反之则不同,例如不同档案间"[*]体适能表现"的工作表
内的格式是一样的。
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
档案名称1:小明.xls
工作表名称1:[小明]数学成绩、[小明]体适能表现、[小明]出缺席状况
档案名称2:小莉.xls
工作表名称2:[小莉]数学成绩、[小莉]体适能表现、[小莉]出缺席状况
档案名称3:小卷.xls
工作表名称3:[小卷]数学成绩、[小卷]体适能表现、[小卷]出缺席状况
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
想请问是否有办法借由宏,合并不同档案间的特定工作表成为一个单一的工作活页簿?
例如,我想要制作一个EXCEL档案,表示所有受访者的体适能表现?
过往合并多项EXCEL档案,我都是借由以下部落格提供的宏。
http://blog.bestdaylong.com/2008/07/excelcopy.html
这个宏仅能合并默认第一个的工作表,或者指定相同名称的工作表。
但是这次合并档案的工作表名称不相同(却有规律性),而且又落在第二个与第三个工作表
请问是否可小幅修改上述的宏,即能达到我想要的目的?
或者,我也想到只要有办法批次修改不同档案的工作表名称,一致称为sheet2 与sheet3
就可再使用上述宏来合并EXCEL档案。
作者: soyoso (我是耀宗)   2015-01-09 17:39:00
将切换视窗windows(filename).activesheet改为ActiveWorkbook.Sheets("[" & replace(filename,".xls","") &"]体适能表现")若是整合的工作表名称是"数学"而多个档案的工作表出现的是类似"数学-1"、"数字001"...之类的话,可用for each 变量in sheets....next循环,循环内再以instr来判断"数字"是否于变量.name内(大于0时)若是整合的工作表名称和多个档案的工作表名称无关连的话而某个工作表内有出现某个关键字时可用for each 变量...next循环,循环内以range.find来判断is nothing为无出现,反相可用not
楼主: docse (可爱到犯规)   2016-07-12 00:49:00
我再试试,谢谢

Links booklink

Contact Us: admin [ a t ] ucptt.com