vba 按顺序打开文件夹下含特定字符的工作簿
据说workbooks.open不能用通配符。文件夹里都是月报表,但不一定每月都有。我知道:1、文件的路径,Z:\2006\2、文件的大致名称:是严格按年月日来命名的,格...
据说workbooks.open不能用通配符。
文件夹里都是月报表,但不一定每月都有。
我知道:
1、文件的路径,Z:\2006\
2、文件的大致名称:是严格按年月日来命名的,格式是2006-08-**.xls 或者2006-08-**.xlsx
3、每个月最多只有一个文件,也就是只有一个2006-08-**.xls(或者2006-08-**.xlsx)
4、字符串,整形变量和循环(for i=1 to X next i)操作的基本规则
问题是:怎么用按顺序打开它们?中间不报错
http://pan.baidu.com/s/1hqu5C4c 展开
文件夹里都是月报表,但不一定每月都有。
我知道:
1、文件的路径,Z:\2006\
2、文件的大致名称:是严格按年月日来命名的,格式是2006-08-**.xls 或者2006-08-**.xlsx
3、每个月最多只有一个文件,也就是只有一个2006-08-**.xls(或者2006-08-**.xlsx)
4、字符串,整形变量和循环(for i=1 to X next i)操作的基本规则
问题是:怎么用按顺序打开它们?中间不报错
http://pan.baidu.com/s/1hqu5C4c 展开
3个回答
展开全部
如果能确保文件夹下类似2006-08-**.xls 或者2006-08-**.xlsx的文件只有一个,可用把如下代码
Sub xx()
Dim yy, mm, pth, fn, i
yy = [f3]
pth = "D:\" & yy & "\"
For i = [f4] To 12
fn = Dir(pth & yy & "-" & Format(i, "00") & "-*.*")
If fn <> "" Then
Application.Workbooks.Open pth & fn
'在此添加操作代码
Application.Workbooks(fn).Close True '如要手动关闭文件删除本行
End If
Next
End Sub
TableDI
2024-07-18 广告
2024-07-18 广告
作为上海悉息信息科技有限公司的一员,我们专注于提供高效的数据处理解决方案。对于多个文件表格的合并需求,我们通常采用专业的数据整合技术,确保数据的准确性和一致性。通过精确匹配表格字段和格式,我们能够快速、准确地将多个表格合并成一个,为用户提供...
点击进入详情页
本回答由TableDI提供
展开全部
Sub OpenAllExcel()
Dim fPath As String, fName As String
fPath = "Z:\2006\"
fName = Dir(fPath & "*.xls")
Do While fName <> ""
Application.Workbooks.Open fPath & fName
'这里可以添加对每个打开文件的操作。
fName = Dir
Loop
End Sub
正常来说,如果你的文件名那么有规律,程序给出的就是按照日期排序的文件,不用特意再排序了。
如果有特殊情况,可以再使用排序。排序后再依次打开文件。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把文件名放到字典里,变成数组后,就可以用like比较了吧
追问
那请给我2000到2014每月最后一天的辞典,并告诉怎么用好吗?很初级的读码能力。谢谢!
追答
你的文件我没太看懂啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |