双重错误处理-错误发生后继续,不返回

时间:2019-05-19 22:30:24

标签: excel vba

我有一堆Excel文件,其中一些包含P3表,一些P2,很少都没有。 我尝试使用错误处理,但是如果连续两个文件没有P3。我在错误块内发生了错误。所以我试图用下一个简历或其他内容结束错误块。但是然后我将返回到错误发生之后。虽然我实际上想在错误处理块之后继续操作(不结束代码)。 有什么建议么? 还是最好使用其他方法来识别工作表的存在?

Do While myFile <> ""
      Set wbCase = Workbooks.Open(Filename:=myPath & myFile, UpdateLinks:=0)
On Error GoTo Line2
Set wsCaseinfo = wbC.Worksheets("P3")
GoTo Line3:
Line2:
On Error GoTo Line0
Set wsCaseinfo = wbC.Worksheets("P2")
Resume Next
Line3:
On Error GoTo 0

...
some code doing stuff
...

On Error Resume Next
k = k + 1
wbNew.Sheets("Sheet1").Cells(k, 1) = wbC.Name
wbNew.Sheets("Sheet1").Cells(k, 2) = wsCinfo.Name

GoTo Line1

Line0:
wbNew.Sheets("Sheet1").Cells(k, 3) = "Fail"
Resume Next

Line1:

wbC.Close SaveChanges:=False     

'Get next file name

     myFile = Dir

  Loop

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

> tree /F

├───Depotauszug
│       blah Depotauszug 2017-10-15.pdf
│
├───Kapitalmaßnahmen
│       test Kapitalmaßnahmen 2016-04-08.pdf
│
├───Kontoauszug
│       baz Kontoauszug 2018-01-30.pdf
│
├───Other
│       foo other 2019-05-19.pdf
│
├───Wertpapierabrechnung
│       foo Wertpapierabrechnung 2017-10-15.pdf
│
└───Wertpapierertrag
        bar Wertpapierertrag 2016-04-08.pdf