Microsoft Excel

Herbers Excel/VBA-Archiv

Datei nicht gefunden - Error Handling

Betrifft: Datei nicht gefunden - Error Handling von: Patrick Leixner
Geschrieben am: 14.11.2014 10:51:23

Hallo,

ich habe dieses Makro, das in einem Ordner Dateien durchgeht und gewisse Daten aus dieser zieht und sie in das aktuelle Wroksheet kopiert.
Funktioniert auch einwandfrei. Jedoch möchte ich gerne die Fehlermeldung "Datei nicht gefunden" unterdrücken, falls eine Datei nicht gefunden wird.
Das Makro soll also, falls eine Datei nicht gefunden wird, am nächsten Punkt in der For-Schleife wieder einsteigen. Sozusagen den Code für dieses x überspringen und beim nächste x, also bei der nächsten Datei, weitermachen

Wie löse ich das am besten?
Hier das Makro:

    Dim aktiverAblauf As String
    Dim pathLenght As Integer
    Dim n As Integer
    n = 8
    pathLenght = ThisWorkbook.Worksheets("Pfad").Cells(7, 1).Value
    Dim AnzahlZeilen As Integer
    AnzahlZeilen = Range("A65535").End(xlUp).Row
            
    Do While ThisWorkbook.Worksheets("Eingehend").Cells(n, 2).Value <> ""
        n = n + 1
    Loop
            
    For x = 8 To n
        aktiverAblauf = ThisWorkbook.Worksheets("Eingehend").Cells(x, 2).Value
            On Error Resume Next
            Set wbQuelle = Application.Workbooks.Open(Left(ThisWorkbook.Path, pathLenght) & "\  _
_
ABLAEUFE\" & aktiverAblauf & ".xlsm", UpdateLinks:=1)
            Set wksQuelle = wbQuelle.Worksheets("Allgemein")
            Set wksZiel = ThisWorkbook.Worksheets("Eingehend")
        
            wksZiel.Cells(x, 1).Value = wksQuelle.Cells(18, 2).Value
            wksZiel.Cells(x, 3).Value = wksQuelle.Cells(16, 3).Value
            wksZiel.Cells(x, 4).Value = wksQuelle.Cells(17, 2).Value
            wksZiel.Cells(x, 5).Value = wksQuelle.Cells(16, 2).Value
            wksZiel.Cells(x, 6).Value = wksQuelle.Cells(19, 2).Value
            wksZiel.Cells(x, 7).Value = wksQuelle.Cells(20, 2).Value
            wksZiel.Cells(x, 8).Value = wksQuelle.Cells(32, 3).Value
        
            wbQuelle.Close SaveChanges:=False
            RahmenZeichnen (aktiveZeile)
            
    Next x
Vielen Dank schonmal im Voraus für eure Hilfe :)
Gruß,
Patrick

  

Betrifft: AW: Datei nicht gefunden - Error Handling von: Rudi Maintaire
Geschrieben am: 14.11.2014 11:03:34

Hallo,

If Dir(Left(ThisWorkbook.Path, pathLenght) & "\ABLAEUFE\" & aktiverAblauf & ".xlsm")<>"" Then
Set wbQuelle = ....
....
End If
Next x

Gruß
Rudi


  

Betrifft: AW: Datei nicht gefunden - Error Handling von: Patrick Leixner
Geschrieben am: 14.11.2014 12:05:32

Hallo Rudi,

funktioniert einwandfrei :)
Da hätte ich auch selbst draufkommen können. Jetzt weiß ichs besser ;)

Vielen Dank für die schnelle Hilfe :)
Gruß,
Patrick


 

Beiträge aus den Excel-Beispielen zum Thema "Datei nicht gefunden - Error Handling"