我在VBA程序里实现对同一个文件夹下的多个excel文件只运行一次宏,如何自动实现。

例如:
C:\桌面\入库\1.xlsx
C:\桌面\入库\2.xlsx
C:\桌面\入库\3.xlsx
C:\桌面\入库\4.xlsx
等十几个excel文件,需要执行程序
Sub 文件()
....................
End Sub
我需要在每个xls文件打开再执行一次Sub 文件().............End Sub,但这样的sub程序比较麻烦,可不可以进行浏览文件夹,然后遍历xlsx文件或sheet来进行一次性地VBA导入到MySQL数据库里面,thankyou.

Sub copyall()
For i = 1 To 5 '把这个数字改成你的文件总数
   Set excel_Book = Workbooks.Open("E:\excel\" & i &".xlsx") '地址写作"E:\xxx\xxx\"保留英文双引号
   Set excel_Sheet = excel_Book.Worksheets("Sheet1")
   '这里调用你的sub
   Call 文件
Next
Set excel_Sheet = Nothing
Set excel_Book = Nothing
End Sub

追问

那如果不是1.xlsx,2.xlsx,3.xlsx,是没有规律的名字呢,该怎么进行循环?

刚刚采纳了您的建议

然后提示出错,

不知道怎么回事

追答

没有规律的话,把名字写进数组,然后又数组循环调用

温馨提示:答案为网友推荐,仅供参考
相似回答