VBA中如何打开一个文件夹内的所有EXCEL文件?

这段代码是读取一个文件夹下的所有文件,也可以根据扩展名筛选其它格式的. 
‘有了文件名,就是打开文件,获得每个文件的SHEET名字.然后写到你想要的地方 

Sub Macro1() 
Dim myDialog As FileDialog, oFile As Object, strName As String, n As Integer 
Dim FSO As Object, myFolder As Object, myFiles As Object ,Dim fn$ 
Set myDialog = Application.FileDialog(msoFileDialogFolderPicker) 
n = 1 
With myDialog 
If .Show <> -1 Then Exit Sub 
Set FSO = CreateObject(“Scripting.FileSystemObject“) ‘这是文件夹选择,点选到你存放文件的那个 
Set myFolder = FSO.GetFolder(.InitialFileName) 
Set myFiles = myFolder.Files 

For Each oFile In myFiles 
strName = UCase(oFile.Name) 
strName = VBA.Right(strName, 3) 
If strName = “xls“ Or strName = “XLS“ Then ‘这是扩展名选择 
‘下面就可接着写打开文件读取数据再写入的语句了,如下: 
fn = myFolder & “/“ & oFile.Name 
Workbooks.Open Filename:=fn 
Worksheets(1).Select ‘假设你读取SHEET1的数据 
RANGE_ = Range(“A2:F50“) ‘需要数据的区域,自己修改 
Windows(“外部表格数据自动导入.xls“).Activate ‘这个是新表的文件名,自己修改下 
Worksheets(n).Select ‘打开第几个文件就选择SHEET几,如果没有可用ADD代码添加 
Range(“a2:f5“) = RANGE_ ‘写入数据 
Workbooks(2).Close 
n = n + 1 
End If 
Next 
End With 
End Sub

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值