如题所述
处理多个Excel文件时,将文件依次打开,然后再利用代码处理数据即可
下面代码为打开Excel文件,并提取sheet1中的第一行数据到本表中:
Sub main()
f = Dir(ThisWorkbook.Path & "\*.xlsx")'打开制定文件夹中的所有Excel文件
Do While f <> ""
Workbooks.Open (ThisWorkbook.Path & "\" & f)'依次将文件打开
x = Range("A65536").End(3).Row'x为工作表中的最后一个非空行数
Workbooks(f).Sheets(1).Rows(1).Copy Range("A" & x + 1)'把搜索到的文件中的第一行数据,复制到本工作表中,最后一个非空行下面的一行中
Workbooks(f).Close'关闭打开的文件
f = Dir'将下一个文件名赋予f
Loop'继续循环
End Sub
下面代码为打开Excel文件,并提取sheet1中的第一行数据到本表中:
Sub main()
f = Dir(ThisWorkbook.Path & "\*.xlsx")'打开制定文件夹中的所有Excel文件
Do While f <> ""
Workbooks.Open (ThisWorkbook.Path & "\" & f)'依次将文件打开
x = Range("A65536").End(3).Row'x为工作表中的最后一个非空行数
Workbooks(f).Sheets(1).Rows(1).Copy Range("A" & x + 1)'把搜索到的文件中的第一行数据,复制到本工作表中,最后一个非空行下面的一行中
Workbooks(f).Close'关闭打开的文件
f = Dir'将下一个文件名赋予f
Loop'继续循环
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答 2017-05-04
EXCEL VBA里面需要顺序执行多个宏的时候,可以另外建立一个宏,按顺序依次调用这些宏即可,例如下面的test宏依次调用宏1、宏2、宏3:Sub test() Call 宏1 Call 宏2 Call 宏3End Sub