Was haben alle gegen Goto?
So genau kann ich dir das auch nicht sagen. Es ist halt schlicht veraltet, funktioniert aber noch immer aus Gründen der Abwärtskompatibilität ausgezeichnet. Im Prinzip zerstörst du damit die Logik des Codes. Dieser wird ja immer von oben nach unten ausgeführt. Wenn du nun mit Goto wild hin und herspringst, weißt du oft nicht, ob du dich z.B. grade innerhalb oder außerhalb einer Schleife befindest. Technisch dürfte das auch noch interessant sein, denn im Hintergrund baut VBA ja die Schleife auf und will sie auch wieder beenden um den Arbeitspeicher etc. freizugeben. Ich könnte mir vorstellen, dass ein simples rausspringen auf Dauer zu Programmproblemen mit Excel führen kann. Da kenn ich mich aber nicht so aus. Noch hab ich bislang keine Probleme festgestellt. Um Schleifen vorzeitig zu verlassen gibt es andere Befehle. z.B. Exit For. Setze ich aber auch nur sehr selten ein, wenn es gar nicht anders geht.
GoTo wird häufig im Zusammenhang mit dem von vielen verhassten Spaghetti-Code verwendet. Und genau da liegt auch ein Knackpunkt. Besser du lagerst sich wiederholende Teile in Teil-Subs aus. Das ist vom Sinn der Programmatik her logischer.
Solange deine Makros wie gewünscht funktionieren, kannst du gern weiterhin Goto verwenden. Auf Dauer solltest du dich aber mit den vielen Möglichkeiten von VBA etwas näher befassen. Dann erledigt sich das Thema GoTo ganz von selbst.
Gruß Mr. K.
PS: Bin gespannt auf weitere Kommentare zu dem Thema. Könnte eine interessante Diskussion werden bezüglich Pro und Contra GoTo.
|