Hi,
On Error Resume Next sollte man nur dann verwenden wenn es keine andere Möglichkeit der Prüfung gibt - alles andere gilt als unprofessionell. Und im gegebenen Fall kann man ganz einfach prüfen, ob eine Mappe bereits geöffnet ist, indem man in einer Schleife über alle Mappen läuft und ihre Namen vergleicht - und zwar z.B. so:
Dim wkbMappe As Workbook
Dim blnOffen As Boolean
For Each wkbMappe In Workbooks
If wkbMappe.Name = "Datei.xlsm" Then
blnOffen = True
Exit For
End If
Next wkbMappe
If blnOffen = False Then Workbooks.Open "C:\.....\..\Datei.xlsm"
Workbooks("Datei.xlsm").Sheet("Mitglieder").Activate
Übrigens: hier muss man vor Sheets("Mitglieder").Activate unbedingt noch den Mappennamen setzen, weil es sein könnte, dass eine ander Mappe als Datei.xlsm gerade aktiv ist und dann würde entweder das Tabellenblatt in der falschen Mappe aktiviert, falls diese ebenfalls ein Blatt namens "Mitglieder" hat, oder es gäbe einen Laufzeitfehler, falls sie kein gleichnamiges Blatt beinhaltet.
Bis später, Karin