【发布时间】:2013-04-11 21:18:14
【问题描述】:
我有多个结构相同且位于文件夹中的 Excel 文件。
每个excel文件数据从d4开始(多行数据但所有行都从后面的d开始)
我需要一个宏来从文件夹中所有单独的 excel 文件中获取数据,并为单独的 excel 文件中的所有数据创建一个新的 excel 文件,结构如下。
1.) excel 文件一中的数据从汇总文件中的 a1 开始
2.) 来自 excel 文件 2 的数据附加在汇总文件中第一个 excel 文件的数据下方
3.) 对文件夹中的所有 excel 文件重复此操作。
谢谢
编辑 我找到了这个(对不起,我不记得在哪里,我记得它不起作用) 我对 excel 和 vba 知之甚少(我主要是在 php 中工作),我觉得我问了很多,却无法提供我自己的很多帮助来获得我需要的东西,对此我深表歉意。
我制作了两个简单的 Excel 文件,并在每个文件中添加了一行数据,然后在名为 Rollup 的 Excel 文件中运行宏。 我认为这段代码的问题在于它的工作原理是在汇总 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
【问题讨论】:
-
你写了什么代码?请向我们展示您的代码,以便我们为您提供帮助
-
你好菲利普我已经添加了我的代码,谢谢你的回复
-
那是很多代码。第一个不适合你的部分是什么?