汇总多个Excel文件所需的macros

我有多个结构相同的excel文件,并在一个文件夹中。

每个excel文件的数据从d4开始(多行数据,但所有行都在随后的d上开始)

我需要一个macros从文件夹中的所有单独的Excel文件中获取数据,并从单独的Excel文件中创build一个新的Excel文件,结构如下。

1.)excel文件中的数据从汇总文件中的a1开始

2.)汇总文件中第一个excel文件的数据下面附加的excel文件中的数据

3.)重复该文件夹中的所有excel文件。

谢谢

编辑我发现这(我很抱歉,我不记得在哪里,我记得它不工作)我知道很less关于Excel和VBA(我主要是我在PHP工作),我觉得我问了很多与出能够提供我自己的很多帮助,以获得我所需要的,我为此道歉。

我做了两个简单的Excel文件,并在每个文件中添加了一行数据,然后在名为Rollup的Excel文件中运行这个macros。 我认为这个代码的问题是,它在汇总excel文件中的作用是光标移动到相应的行,就好像它附加了两个文件,但没有数据显示。

Sub extract() Dim a, b, c, d, n, x As Integer Dim f As String Cells(2, 1).Select f = Dir("C:\" & "*.xls") Do While Len(f) > 0 ActiveCell.Formula = f ActiveCell.Offset(1, 0).Select f = Dir() n = n + 1 Loop x = Cells(Rows.Count, 1).End(xlUp).Row d = 2 For a = 2 To x Cells(d, 2) = Cells(a, 1) For c = 1 To 20 b = 1 Cells(1, 1) = "='c:\[" & Cells(a, 1) & "]sheet1'!" & Chr(b + 64) & c If Cells(1, 1) = "0" Then Exit For Else For b = 3 To 6 Cells(d, b) = "='c:\[" & Cells(a, 1) & "]sheet1'!" & Chr(b + 64) & c Next b End If d = d + 1 Next c d = d + 1 Next a End Sub 

对于一个简单的汇总下面的工作,更复杂的需要去这里: http : //msdn.microsoft.com/en-us/library/office/cc837974%28v=office.12%29.aspx

 Sub test() Dim myFile As String, sh As Worksheet, myRange As Range Const MyPath = "C:\My path\" ' to be modified Workbooks.Add 1 ' Add a new workbook Set sh = ActiveWorkbook.ActiveSheet myFile = Dir(MyPath & "*.xls") Do While myFile <> "" Workbooks.Open MyPath & myFile Rows(1).Copy sh.Rows(1) Set myRange = ActiveSheet.UsedRange Set myRange = myRange.Offset(4).Resize(myRange.Rows.Count - 1) '(4) is how many rows to ignore befor coping data myRange.Copy sh.Range("A65").End(xlUp).Offset(1) Workbooks(myFile).Close False myFile = Dir Loop End Sub