怎样可以将多个excel表中的某一列自动合并到一个excel表

有上百张不同名称的excel表格,但里面的列名都相同,需要选取每张表里面的三个列的内容合并到一个表格里。也就是说只需要每个表格里面的特定三列的内容。有什么好的方法,不用把每张表格都打开来拷贝出来。
本人对VBA一窍不通,有高手的话麻烦给写好粘上来,谢谢啦!
条件:选择指定目录(或其子目录)下每个表格中的列名为“身份证”、“姓名”、“性别”的内容合并在一起到汇总表里。

第1个回答  2011-02-25
用VBA。如果表格是工作簿的话。用下列VBA代码可以解决你的问题
public sub CopyCellFromBook
Dim filename, msg, bookname As String
Dim k, i, r As Long
Dim lastrow As Long

bookname = ThisWorkbook.Name
filename = Application.GetOpenFilename(FileFilter:="Excel Files (*.xls),*.xls,", FilterIndex:=0, Title:="选择要拷贝的工作簿", MultiSelect:=True)
If Not IsArray(filename) Then
MsgBox "请选择工作簿"
Exit Sub
End If
r = 2

For i = LBound(filename) To UBound(filename)
Workbooks.Open filename:=filename(i), Editable:=False

lastrow = Workbooks(2).Sheets(1).UsedRange.Rows.Count

For k = 2 To lastrow
If Workbooks(2).Sheets(1).Cells(k, 1) <> "" Then
Workbooks(1).Sheets(1).Cells(r, 1) = Workbooks(2).Sheets(1).Cells(k, 1)
Workbooks(1).Sheets(1).Cells(r, 2) = Workbooks(2).Sheets(1).Cells(k, 2)
Workbooks(1).Sheets(1).Cells(r, 3) = Workbooks(2).Sheets(1).Cells(k, 3)
r = r + 1
End If
Next k

Next i
Workbooks(2).Close
end sub
第2个回答  2011-02-26
在sheet1/sheet2/sheet3那个地方单击右键,选择第四项“移动”,“至”你要的主工作表文件里面去。依次这样子做就可以
第3个回答  2011-02-25
数据汇总的三种方法
http://club.excelhome.net/thread-570911-1-1.html
仔细看上面的链接示例,
如果不是很明白,也可以百度HI我。本回答被提问者采纳
第4个回答  2011-02-25
还不如直接复制,没什么特别的方法~
第5个回答  2011-02-25
vba来实现哇!
相似回答