如何将多张工作表合并到一张工作表?
5155 16
[1 楼] Jetinstyle [资深泡菜]
09-10-21 20:19
万能的无忌,卧虎藏龙之地,我把这个问题用google搜了一遍还是没找到答案,又去电脑报论坛咨询,无果,只好来无忌碰碰运气了。

我想把Excel文档里第二到第十张工作表合并到第一张工作表(名为“合计”)里,表头的项目名称不变。
第一列是其余各表的姓名合集,第二列是邮发代号合集,第三列是报刊名称合集,以此类推。
请看截图
除了第一张合计工作表外,其余各工作表的数据(文本)能够自动链接到合计工作表相应单元格内,做到同步更新。

我希望能够用函数解决,网上搜了一下,发现有个Vlookup函数似乎办到,但是我不知道具体怎么使用。

先谢谢了!
[17 楼] Jetinstyle [资深泡菜]
10-1-1 13:56
谢谢海无涯 caishen
[16 楼] dryin [泡菜]
09-12-28 14:28
原文由 caishen 在2009-12-28 10:30发表
狗出来的,看看lz能否自己理解:

宏代码如下:
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,  ......

太深奥了,我有点看不明白。
[15 楼] caishen [泡菜]
09-12-28 10:30
狗出来的,看看lz能否自己理解:

宏代码如下:
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("A1").Select
Application.ScreenUpdating = True
MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"
End Sub

其实就是用宏进行复制 粘贴的过程。

[caishen 编辑于 2009-12-28 10:35]
[14 楼] 海无涯 [资深泡菜]
09-12-28 09:45
LZ解决了么?
俺有个疑问,比如“陈红”那张表,是不是只会有一行信息?
如果是,那么前面提到的办法可行。如果嫌太麻烦,你可以用indirect这个函数。

但,其实,俺认为你这种结构设置是不合理的。其实所有人的原始信息应当放置在同一张表里。然后通过筛选来查看每个人的订阅情况。

vlookup这个函数用于对于一个表的查询。以你这张“合计”表为例,假设该表已经有很多信息了。
vlookup("李明",a2:f35,2,false)
对于表a2:f35的第一列,查“李明”,然后返回对应的第二列的值。
[13 楼] G200 [泡菜]
09-12-21 13:09
突然想到清华大学毕业的表哥表姐...
[12 楼] 暮雪独行 [资深泡菜]
09-12-21 13:00
原文由 Jetinstyle 在2009-10-22 20:13发表
谢谢你的热心回答,但是显得比较麻烦,跟复制粘贴差不多。我觉得还是用Vlookup这个函数是正道,可惜我不会用。


韩色的方法简单易行、不用单个CTRL C 、CTRL V,输完一个、用鼠标点单元格右下角拉下来就行了。
[11 楼] 高嶺清磨 [禁言中]
09-12-21 11:56
此帖绝对要留名!强人辈出!
[10 楼] 板本美晴 [禁言中]
09-10-27 12:02
顶而不懈~继续努力!
[9 楼] 优游的翅膀 [资深泡菜]
09-10-26 14:17
用超级链接
[8 楼] lanfeng86 [禁言中]
09-10-26 13:06
哈哈~~~我喜欢,狂顶!!!
[7 楼] lxfingz991 [禁言中]
09-10-26 10:03
来翻翻看,有什么宝可寻
[6 楼] hicool [资深泡菜]
09-10-23 13:36
为什么非要一个人一张 表呢?
直接录入汇总表,加一列 姓名不久完了
通过筛选姓名就可以把对应的人订阅的报刊列出来

vlookup函数是可以实现你的功能,但还是需要手动的对子表进行操作,当然也可以进行预处理个1000行,你只管在汇总表录入数据就行了

方便的话把文件发入以下邮箱,我帮你做一个

[email protected]

[hicool 编辑于 2009-10-23 13:42]
[5 楼] 马甲号1 [泡菜]
09-10-22 21:40
vlookup似乎也不适合,vlookup是在表内查找,不是在工作簿中查找。
这种工作表名没规律的还真是难办。
[4 楼] Jetinstyle [资深泡菜]
09-10-22 20:13
谢谢你的热心回答,但是显得比较麻烦,跟复制粘贴差不多。我觉得还是用Vlookup这个函数是正道,可惜我不会用。
[3 楼] 韩色 [泡菜]
09-10-21 20:53
输入时不要引号,感叹号和字母数字都用半角
[2 楼] 韩色 [泡菜]
09-10-21 20:45
在姓名列第一行输入“=李明!A3”,第二行输入“=王强!A3”以此类推,然后选中输入的第一列先后复制即可。不行再探讨。