Thema Datum  Von Nutzer Rating
Antwort
06.02.2023 14:17:24 Bernd
Solved
06.02.2023 15:27:55 Gast27648
Solved
06.02.2023 21:50:24 xlKing
Solved
07.02.2023 13:46:30 Bernd
Solved
Rot Userform Commandbutton in Makro übergeben
08.02.2023 00:05:12 xlKing
NotSolved
08.02.2023 09:00:52 Gast85786
NotSolved

Ansicht des Beitrags:
Von:
xlKing
Datum:
08.02.2023 00:05:12
Views:
546
Rating: Antwort:
  Ja
Thema:
Userform Commandbutton in Makro übergeben

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.

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
06.02.2023 14:17:24 Bernd
Solved
06.02.2023 15:27:55 Gast27648
Solved
06.02.2023 21:50:24 xlKing
Solved
07.02.2023 13:46:30 Bernd
Solved
Rot Userform Commandbutton in Makro übergeben
08.02.2023 00:05:12 xlKing
NotSolved
08.02.2023 09:00:52 Gast85786
NotSolved