233 Aufrufe
Gefragt in Tabellenkalkulation von finger59 Experte (1.3k Punkte)
Hallo liebe Excel-Fangemeinde,

Eigentlich eine einfach Sache und dennoch läuft es nicht so wie gewünscht.

Nach Anklicken eines Buttons sollen Daten aus dem geöffneten Tabellenblatt in eine Sammeldatei (Gesamt1-Mai-2020.xlsx) übertragen werden. Damit dieses ohne Probleme geschieht, soll zunächst einmal abgefragt werden, ob die Datei gerade auf oder geschlossen ist. Dazu gibt es eine Funktion, die auch funktioniert.

Bei den nachstehenden Programmzeilen jedoch erhalte ich den Fehler:  Else ohne If ??????

Das Startprogramm sieht aktuell so aus:

Sub start()

If Dateiistfrei("C:\Personal\Kurzarbeit\Gesamt1-Mai-2020.xlsx") = True Then Call ueber1

Else

 MsgBox "Die Sammeldatei wurde von einem anderen User geöffnet. Bitte versuchen Sie die Datenübertragung gleich noch einmal. Vielen Dank! Sollte trotz mehrmaligen Versuchens keine Übertragung erfolgen, so informieren Sie bitte mich. "
   
    End If

End Sub

Ich bedanke mich schon mal bei allen die hier reingeschaut haben für Ihr Interesse und hoffe, dass jemand mir die "Else" zum laufen zu bringen.

Vielen Dank im Voraus an alle und mit freundlichen Grüßen... Helmut

4 Antworten

+2 Punkte
Beantwortet von arnonym Mitglied (525 Punkte)
probiers mal so

Sub start()

If Dateiistfrei("C:\Personal\Kurzarbeit\Gesamt1-Mai-2020.xlsx") = True Then

 Call ueber1

Else

 MsgBox "Die Sammeldatei wurde von einem anderen User geöffnet. Bitte versuchen Sie die Datenübertragung gleich noch einmal. Vielen Dank! Sollte trotz mehrmaligen Versuchens keine Übertragung erfolgen, so informieren Sie bitte mich. "
   
    End If

End Sub
0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hallo unbekannter Helfer,

auch wenn ich es nicht verstehe... so auseinandergezogen mit dem Call ueber1 funktioniert es ohne Probleme...

Von daher vielen vielen Dank und allen einen schönen Tag noch! - MfG... Helmut
+1 Punkt
Beantwortet von arnonym Mitglied (525 Punkte)

if then else kann auf zwei Arten verwendet werden

alles in eine Zeile, dann sieht das so aus und braucht kein End If

IF bedingung THEN tu_dies ELSE tu_das

oder aber in der Blockschreibweise, dann sieht das halt so aus und brauch ein End If

IF bedingung THEN

  tu_dies

ELSE

  tu_das

END IF

die Blockschreibweise ist sinnvoll wenn mehrere Anweisungen erfolgen sollen und übersichtlicher ist es meist auch

0 Punkte
Beantwortet von
Thx für die Aufklärung...

das sind die Kleinigkeiten über die man halt immer wieder stolpert, weil man glaubt auf dem richtigen

Weg gewesen zu sein und sich dann wundert, warum trotz scheinbar gleicher Aussage, es zu unterschiedlichen

Aussagen kommt.

Nochmals vielen lieben Dank und ein schönes WE noch...  MfG... Helmut
...