请教excel vbs宏高手,批处理问题,指定批量读取文件名的范围(循环) ,读不到某一个文件名就跳过操作并继续

请教excelvbs高手,批量处理问题,指定批量读取文件名的范围(循环),读不到某一个文件名就不往下操作),然后继续读下一个文件名,请看代码,答对给100分.SubMac... 请教excel vbs高手,批量处理问题,指定批量读取文件名的范围(循环) ,读不到某一个文件名就不往下操作),然后继续读下一个文件名,请看代码,答对给100分.

Sub Macro1()
'
' Macro1 Macro
'
'
Dim iCol As Long
For iCol = 201001 To 201412
'给一个范围,打开该范围内的csv文件
Workbooks.Open Filename:="D:\银行\" & CStr(iCol) & ".csv"
--------------------------------------------------------------------------------------
问题出在这里,给出的范围没有文件就卡住了,201001,201002....201012是有的,但没有201013之类的,
文件是按年月份命名的.一直命名到201311.
求解 怎样跳过读取错误,然后继续读下去?
--------------------------------------------------------------------------------------
Cells.Select
Application.DisplayAlerts = False
'覆盖保存
ActiveWorkbook.SaveAs Filename:="D:\银行\" & CStr(iCol) & ".xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
Workbooks.Open Filename:="D:\银行\" & CStr(iCol) & ".xlsx"
'打开xlsx,然后做数据透视....
Cells.Select
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"" & CStr(iCol) & "!R1C1:R1048576C19", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="Sheet1!R3C1", TableName:="数据透视表1", DefaultVersion:= _
xlPivotTableVersion12
Sheets("Sheet1").Select
Cells(1, 1) = Sheets(CStr(iCol)).Name
Cells(3, 1).Select

'中间省略
'数据透视操作而已
'百度不让我打那么多字

ActiveWorkbook.Save
ActiveWindow.Close
Next iCol
End Sub
展开
 我来答
百度网友066dc732e
2013-11-11 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5675
采纳率:33%
帮助的人:1883万
展开全部
'将循环修改为: 
For iCol=201001 To 201412
    If Dir("D:\银行\" & iCol & ".csv")<>"" Then
        Workbooks.Open Filename:="D:\银行\" & iCol & ".csv"
        …… 
    End If
Next iCol
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式