VBA excel汇总,有多个Excel文件,里面有多个Sheet,每个excel文件格式相同,想将这些excel汇总

2024-12-15 16:09:17
推荐回答(5个)
回答1:

lr = Sheets("基本表").Range("a17").End(xlUp).Row 改成 lr = Sheets("基本表").Range("a65536").End(xlUp).Row

Workbooks.Open myPath & myFile 后 .Sheets("基本表") 为刚打开的excel的 .Sheets("基本表") ,最好把它写全,前面加workbooks("?.xls")

myFile = Dir
'再用dir函数提取一个文件名
Loop

myFile = Dir ???

没有代码无法调试,以上3处试试吧

回答2:

myFile = Dir(myPath & "\*.xls")
应该放在一个文件夹下对他进行查找,你这样岂不是会打开你运行的那个工作簿,然后面进行关闭

改下下面循环那里
Do While myFile <> ""
Set wb = Workbooks.Open(myPath & myFile)
lr = wb.Sheets("基本表").Range("a17").End(xlUp).Row
lr2 = .Range("A65536").End(xlUp).Row + 1
If lr > 6 Then
arr = wb.Sheets("基本表").Range("A7:AE" & lr).Value
.Range("A" & lr2).Resize(UBound(arr, 1), 31) = arr
End If
wb.Close False
myFile = Dir
Loop
通常取工作表的数据使用COPY和PASTE的方法是比较好的

回答3:

应该是文件本身没进行 排除引起的错误。

回答4:

方便将你要汇总的样表发一到两个到我的邮箱么?我邮箱febls@126.com
或者你也可以一句一句的运行这个代码,看看是哪里的问题,打开VBA编辑器后,将光标放到你要运行的代码中,然后按F8一句一句的执行看看问题在哪。

回答5:

把表发我邮箱,说清楚目的与要求。mfk1288@126.com