EXCEL 获取文件夹中其他EXCEL表中的数据

有个文件夹里面有若干EXCEL文件A.,B,D,E,,如何用汇总表,将文件夹中所有文件的Sheet1,B2-B100,C2-C100,D2-D100,E2-E100,F2-F100,G2-G100中的汇总在一张表上。

可以VBA,新建一个EXCEL,在sheet2的A1单元格输入要你存了N个文件的文件夹路径:例如 h:\明细表\, 然后在sheet2建一个CommandButton按钮,把以下代码复制到按钮里面,点按钮后,程序会先把路径下文件夹的文件名写到sheet2的的A列,再把这些所有的文件的C2-G200的内容汇总到sheet1中.

Private Sub CommandButton1_Click()
On Error Resume Next
Application.ScreenUpdating = False
Dim sh As Worksheet
Range("a2:b65536").ClearContents
mypath = Trim(Range("a1"))
If Right(mypath, 1) <> "\" Then
mypath = mypath & "\"
n = 2
myfile = Dir(mypath & "\*.*")
Do While myfile <> ""
Cells(n, 2) = myfile
Cells(n, 1) = mypath & myfile
myfile = Dir
n = n + 1
Loop
If n = 2 Then Exit Sub '如果N=2,则表示路径下没有提取到xls文件
For j = 2 To n - 1
Workbooks.Open Trim(Range("a" & j))
 With ThisWorkbook.Worksheets("sheet1")
  row1 = .Range("b65536").End(xlUp).Row
  Workbooks(Trim(Range("b" & j))).Worksheets("sheet1").Range("b2:g100").Copy .Range("b" & row1 + 1)
  End With
  
 Workbooks(Trim(Range("b" & j))).Close
Next j
Application.ScreenUpdating = True
End Sub

追问

谢谢你
但是建立好了,但是会按下按键后表格就死掉了。

追答

刚刚则试修改了,可以运行的:,

Private Sub CommandButton1_Click()
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim sh As Worksheet
Range("a2:b65536").ClearContents
mypath = Trim(Range("a1"))
If Right(mypath, 1) <> "\" Then mypath = mypath & "\"
n = 2
myfile = Dir(mypath & "\*.*")
Do While myfile <> ""
Cells(n, 2) = myfile
Cells(n, 1) = mypath & myfile
myfile = Dir
n = n + 1
Loop
If n = 2 Then Exit Sub '如果N=2,则表示路径下没有提取到xls文件
For j = 2 To n - 1
Workbooks.Open Trim(Range("a" & j))
 With ThisWorkbook.Worksheets("sheet1")
  row1 = .Range("b65536").End(xlUp).Row
  Workbooks(Trim(Range("b" & j))).Worksheets("sheet1").Range("b2:g100").Copy .Range("b" & row1 + 1)
  End With
    
 Workbooks(Trim(Range("b" & j))).Close
Next j
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-20
sheet1!A1+sheet2!A1+sheet3!A1.。。。。。
用以上公式在总表上带出一个公式,剩下的复制黏贴就可以了。
第2个回答  2014-09-20
可以用数据透视表做。
第3个回答  2014-09-20
VBA,轻松搞定。
你要说清楚是哪个表(表名)。
希望能解决您的问题。追问

文件夹 [h:\明细表] 中的文件名
1.xlsx
2.xlsx
3.xlsx
......
......
......
要求:汇总表.xlsx将以上若干文件 Sheet1中的 B列,C列,D列的数据内容汇总

相似回答