Hallo,
Habe in meiner Mappe ein Sheet "Daten"
In meiner Mappe soll ein externes Sheet (heißt auch "DATEN" ) aus einer externen Datei importiert werden.
Wenn die Funktion gestartet wird, öffnet sich der Dialog und ich kann die Quelle auswählen. Altes Sheet wird vorher gelöscht und neues dann eingefügt, externe Datei dann wieder geschlossen
Das funktioniert alles.
Mein Problem: wenn ich die Funktion starte, wähle über den Dialog eine externe Datei aus , die öffnet sich, aber in dieser Datei gibt es KEIN Sheet "DATEN" dann soll der Code eine Msgbox ausgeben und aus der Funktion austreten
'noch mehr VBA
ChDrive "C:\"
Dateiname = Application.GetOpenFilename("Micrsoft Excel-Dateien (*.xls*),*.xls*")
If Dateiname = False Then Exit Sub
Application.ScreenUpdating = False
Workbooks.Open Dateiname
Dateiname = ActiveWorkbook.Name
On Error Resume Next
Set objQuelle = Workbooks(Dateiname)
Set myWs = objQuelle.Sheets("DATEN")
'Hier wollte ich eine Abfrage einbauen, die prüft, ob das
'Sheet "Daten" aus der geöffneten Datei überhaupt da ist.
If Err.Number 0 Then
MsgBox "nix gefunden"
Exit Sub
On Error GoTo 0
'altes löschen
Application.DisplayAlerts = False
Sheets("Daten").Delete
Application.DisplayAlerts = True
'und neues einfügen
myWs.Copy After:=ThisWorkbook.Sheets(1)
objQuelle.Close
Exit Sub
If msg = vbNo Then
Exit Sub
End If
End If
Leider funktioniert das nicht. Der Code merkt zwar wenn in der externen Datei nichts da ist und bricht ab, lade ich aber eine Datei, in der das Sheet vorhanden ist, wird es nicht kopiert.
Kann mir da jemand Helfen, wie ich die Abfrage richtig mache ?
Danke Jockel