Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1524|回复: 6

[已解决]怎样把某个文件夹中文件按照某工作表某列顺序依次打开

[复制链接]
发表于 2016-10-24 09:39 | 显示全部楼层 |阅读模式
本帖最后由 乐乐2006201506 于 2016-10-24 13:14 编辑

怎样把某个文件夹中文件按照某工作表某列顺序依次打开?即用依次打开数据工作簿A列的顺序,依次打开、保存、关闭打开文件文件夹中的文件,谢谢!

最佳答案
2016-10-24 09:59
Sub Click()
    Dim A, wb, p$, temp$, i%
   
    A = Sheets("打开数据").[a1].CurrentRegion
    p = ThisWorkbook.Path & "\"

    For i = 1 To UBound(A)
        temp = p & "\需打开文件文件夹\" & A(i, 1) & ".xlsx"
        If Dir(temp) <> "" Then
            Set wb = Workbooks.Open(temp)
            wb.Close
        End If
    Next i
End Sub

222.rar

29.27 KB, 下载次数: 11

发表于 2016-10-24 09:59 | 显示全部楼层    本楼为最佳答案   
Sub Click()
    Dim A, wb, p$, temp$, i%
   
    A = Sheets("打开数据").[a1].CurrentRegion
    p = ThisWorkbook.Path & "\"

    For i = 1 To UBound(A)
        temp = p & "\需打开文件文件夹\" & A(i, 1) & ".xlsx"
        If Dir(temp) <> "" Then
            Set wb = Workbooks.Open(temp)
            wb.Close
        End If
    Next i
End Sub
回复

使用道具 举报

 楼主| 发表于 2016-10-24 11:41 | 显示全部楼层
爱疯 发表于 2016-10-24 09:59
Sub Click()
    Dim A, wb, p$, temp$, i%
   

Sub Click()
    Dim A, wb, p$, temp$, i%

    Application.DisplayAlerts = False

    A = Sheets("打开数据").[a1].CurrentRegion
    p = ThisWorkbook.Path & "\"

    For i = 1 To UBound(A)
        temp = p & "\需打开文件文件夹\" & A(i, 1) & ".xlsx"
        If Dir(temp) <> "" Then
            Set wb = Workbooks.Open(temp)
            Cells(1, 1) = "姓名"
            wb.Close
        End If
    Application.OnTime Now + TimeValue("00:00:05"), "TIMER"
    Next i

    Application.DisplayAlerts = True

End Sub
QQ图片20161024113843.png

为什么我加了延迟代码后,最后打开了几个文件,就要确定几次上面图片,有办法解决吗?谢谢!


回复

使用道具 举报

发表于 2016-10-24 11:56 来自手机 | 显示全部楼层
指定工作簿和工作表后呢?比如
wb.sheets(1).Cells(1, 1) = "姓名"
回复

使用道具 举报

发表于 2016-10-24 11:58 来自手机 | 显示全部楼层
本帖最后由 爱疯 于 2016-10-24 12:02 编辑

"TIMER",这个过程名必须要指定。格式不大记得了。

好像是 工作簿.过程名
wb.timer
过程名最好换取一个不容易重名的名字
回复

使用道具 举报

 楼主| 发表于 2016-10-24 12:27 | 显示全部楼层
爱疯 发表于 2016-10-24 11:58
"TIMER",这个过程名必须要指定。格式不大记得了。

好像是 工作簿.过程名

那改个什么呢?
回复

使用道具 举报

发表于 2016-10-28 16:10 | 显示全部楼层
爱疯 发表于 2016-10-24 09:59
Sub Click()
    Dim A, wb, p$, temp$, i%
   

你的VBA水平越来越高了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-19 22:35 , Processed in 0.491705 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表