PDA

Vollständige Version anzeigen : Fehlermeldung verhindern


djell
06.05.2009, 11:09
Hallo Zusammen,

ich hab da ein kleines problem,
und zwar mein Makro öffnet mir eine bestimmte datei in einem ordner, das funktioniert auch wunderbar. Nur wenn die datei die ich aufrufen möchte nicht vorhanden ist in dem ordner dann kommt die Debbug meldung.
Was muss ich in mein Makro einfügen damit nicht die Fehlermeldung kommt sondern zB, Datei nicht vorhanden! ?

Sub DatenÜbertrag2()
Dim wbThis As Workbook
Dim wsThis As Worksheet
Dim wbThat As Workbook
Dim wsThat As Worksheet
Dim varThisAr As Variant
Dim varThatAr As Variant
Dim lngVarAr As Long

Set wbThis = ThisWorkbook
Set wsThis = wbThis.ActiveSheet

Set wbThat = Workbooks.Open("N:\test\Arbeit\" _
& Range("P5").Value & ".xls") 'Name ohne Erweiterung in anderem Pfad


Hilfe währe echt super!!!!

NoNet
06.05.2009, 11:24
Hallo djell,

prüfe zunächst per DIR(), ob die Datei vorhanden ist :
If Dir("N:\test\Arbeit\" & Range("P5").Value & ".xls") <> "" Then
Set wbThat = Workbooks.Open("N:\test\Arbeit\" _
& Range("P5").Value & ".xls") 'Name ohne Erweiterung in anderem Pfad
Else
MsgBox "N:\test\Arbeit\" & Range("P5").Value & ".xls", vbOKOnly + vbInformation, "Datei nicht vorhanden !"
End If

djell
06.05.2009, 11:30
Ok das geht schon aber die Debbug meldung kommt trotzdem weil das Makro ja nicht stehen bleibt und die Restlichen sachen ausführen möchte.
Jetzt müsste ich nur noch schafen das nach der meldung Datei nicht vorhanden, das Makro aufhört und nicht weiter macht. Wie mach ich das?

IngGi
06.05.2009, 11:37
Hallo djell,

in der Regel mit einem Exit Sub nach der MsgBox. Es sei denn, die Prozedur wird von einer anderen Prozedur aufgerufen und du möchtest nicht nur die aufgerufene Prozedur, sondern den weiteren Ablauf insgesamt beenden. Dann musst du an Stelle des Exit Sub ein End verwenden.

Gruß Ingolf

djell
06.05.2009, 11:48
Ja klar Danke!!!