需要汇总多个Excel文件所需的宏

问题描述:

我有多个结构完全相同的excel文件,并且位于一个文件夹中。需要汇总多个Excel文件所需的宏

每个Excel文件的数据开始于D4(多行数据,但所有行开始对后续d)

我需要一个宏观采取从所有文件夹中的单独的Excel文件中的数据,并创建一个单一的来自单独的excel文件的所有数据的新excel文件,结构如下。

1)从的Excel数据文件之一上卷文件

2.)从的Excel数据文件2中汇总文件

3附加数据下方从第一excel文件开始于A1。 )重复该文件夹中的所有excel文件。

感谢

编辑 我发现这个(我很抱歉,我不记得在哪里,我记得它不工作) 我还不是很了解Excel和VBA的(我主要是我在PHP工作) ,我觉得我很想提出很多帮助,以获得我需要的东西,我为此道歉。

我做了两个简单的excel文件,并在每个文件中添加了一行数据,然后在名为Rollup的excel文件中运行宏。 我认为这个代码的问题在于,它在Rollup 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 
+3

你写过什么代码?请告诉我们您的代码,以便我们可以为您提供帮助 – 2013-04-11 21:36:16

+0

Hello Philip我已添加我的代码,感谢回复 – xyz 2013-04-12 14:27:05

+0

这是很多代码。什么是不适合你的第一部分? – 2013-04-12 18:51:32

对于一个简单的汇总以下工作,对于更复杂的需求去这里: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