一个EXCEL的问题,请达人帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/08 05:39:08
一个EXECL文档里面有12个SHEET,每个表里例如有三个列,分别为:名称、日期、价格;问题来了:如何将所有SHEET里面,所有“名称”一样的数据(数据为日期+价格)归整到同一个SHEET里面?(假设“名称”未按序排列)。
Ares-820724,如果这样的话我就没必要在这里问了,我是想问问有没有比较简便的方法,因为不想打乱原来表格的排列,而且现在只是12个SHEET,如果有36个呢?相当大的工作量啊。
--------------------
okey-rhw所说的用VLOOKUP函数的方法不错,不过似乎只限于名称单一没有重复的表,我可能没问清楚,这名称里面会有许多重复出现的,但是日期和价格不一样的,用VLOOKUP好像没办法全列出来。不好意思,可能是我太笨不会用VLOOKUP,哪位大哥能举个例子说明一下吗?

新建一表取名“汇总”。

Sub 123()
Dim sht As Worksheet
Dim irow&, icol&, Num&

Application.ScreenUpdating = False
For Each sht In Sheets
If sht.Name <> "汇总" Then
With sht
irow = .[a65536].End(xlUp).Row
icol = .[iv1].End(xlToLeft).Column
Num = Sheets("汇总").[a65536].End(xlUp).Row
.Range(.Cells(2, 1), .Cells(irow, icol)).Copy Sheets("汇总").Cells(Num + 1, 1)
End With
With Sheets("汇总")
.Columns(icol + 1).NumberFormatLocal = "@"
.Range(.Cells(Num + 1, icol + 1), .Cells(Num - 1 + irow, icol + 1)) = sht.Name
End With
End If
Next
Application.ScreenUpdating = True
End Sub

将上面这代码贴到VB编辑器的模块中,没有的话插入模块,运行这段代码后再按名称排序就可以得到你想要的。

使用vlookup函数:
如D2=