Supportnet / Forum / Tabellenkalkulation
Mit VBA in bestimmte Code Zeile springen
Frage
Hallo alle zusammen,
ist es möglich, so wie in Basic früher per Befehlstext in eine bestimmte Zeile zu springen?
Früher ging das doch so in der Art: goto 10 ... und des Programm ist ab der Zeile 10 wieder neu gelaufen ...
Wenns das gibt, würd mich noch interessieren wie ich da ne variable einbaue ... also sozusagen goto line i oder so ähnlich ...
Oder muss ich meinen guten alten C64 dazu reanimieren?
Grüße und danke schonmal ...
Antwort 1 von bored
Nein. Schreibe einfach in eine einzelne Zeile
Und wenndu dahin springen willst
sprungziel:
Und wenndu dahin springen willst
goto sprungziel
Antwort 2 von waddehaddedudeda
Wenn ichs richtig verstehe muss ich im Code des Ziel mit "Sprungziel" festlegen, und kann später dort mit "goto sprungziel" hinspringen?
Ist eigentlich genau das was ich möchte, nur das ich eben mehre Sprungziele definieren müsste zu denen man dann springn können müsste ...
also ziel1, ziel2, ziel3 sozusagen ... deshalb dachte ich an sowas wie if i = 3 then goto line 1; if i = 4 then goto line 2 usw ....
Aber evtl kann man den Begriff ja auch erweitern, werd mal ne runde googlen ...
Aber danke schonmal ...
Wenn jemand noch ne andere Idee hat, oder weiss wie man das erweitern kann, bitte melden!
mfg
Ist eigentlich genau das was ich möchte, nur das ich eben mehre Sprungziele definieren müsste zu denen man dann springn können müsste ...
also ziel1, ziel2, ziel3 sozusagen ... deshalb dachte ich an sowas wie if i = 3 then goto line 1; if i = 4 then goto line 2 usw ....
Aber evtl kann man den Begriff ja auch erweitern, werd mal ne runde googlen ...
Aber danke schonmal ...
Wenn jemand noch ne andere Idee hat, oder weiss wie man das erweitern kann, bitte melden!
mfg
Antwort 3 von waddehaddedudeda
lol oder muss ich einfach nen beliebigen begriff verweden?
also satzmitx: und goto satzmitx ?
*testen*
also satzmitx: und goto satzmitx ?
*testen*
Antwort 4 von waddehaddedudeda
hehe okay, ich habs begriffen ;)
hab jetzt meine Zeilen 1-10 mit dementsprechenden Kennungen versehen.
Sie heissen jetzt eben Zeile 1, Zeile 2, Zeile 3 usw.
Mein Ergebniss ist i = 2.
Wie kann ich jetzt automatisch in Zeile "Zeile 2" springen?
Oder bei i = 3 in "Zeile 3" ?
danke schonmal ...
hab jetzt meine Zeilen 1-10 mit dementsprechenden Kennungen versehen.
Sie heissen jetzt eben Zeile 1, Zeile 2, Zeile 3 usw.
Mein Ergebniss ist i = 2.
Wie kann ich jetzt automatisch in Zeile "Zeile 2" springen?
Oder bei i = 3 in "Zeile 3" ?
danke schonmal ...
Antwort 5 von bored
SO genau habe ich das noch nicht probiert, aber du könntest ja mal versuchen, ob man auch String-Variablen "anspringen" kann.
Also ungefähr so:
Aber da wird das Ganze programmiertechnisch WIRKLICH unschön! Bist du sicher, dass du das, was du vorhast, nicht auch anders (Funktionen, select?) lösen kannst?
Also ungefähr so:
zeile = "Zeile" + i
goto zeile
Aber da wird das Ganze programmiertechnisch WIRKLICH unschön! Bist du sicher, dass du das, was du vorhast, nicht auch anders (Funktionen, select?) lösen kannst?
Antwort 6 von fürLau
Hallo
Beispiel einer Spaghettiprogrammierung:;-)
Gruß[h3]{[h1]Ó¤[sup...fürLau
Beispiel einer Spaghettiprogrammierung:;-)
Sub test()
Dim i%
Debug.Print "Start",
For i = 1 To 4
On i GoTo Zeile1, Zeile2, Zeile3, Zeile4
Weiter:
Next
GoTo Ende
Zeile1:
Debug.Print "1";
GoTo Weiter:
Zeile2:
Debug.Print "2";
GoTo Weiter:
Zeile3:
Debug.Print "3";
GoTo Weiter:
Zeile4:
Debug.Print "4",
GoTo Weiter:
Ende:
Debug.Print "Stop"
End Sub
Gruß[h3]{[h1]Ó¤[sup...fürLau
Antwort 7 von nighty
hi all :)
makro wie functionsaufrufe
Sub DeinMakro()
rem DeinCode
If Ergebnis ... then DeinMakroName
bzw DeinFunctionsName
gruss nighty
makro wie functionsaufrufe
Sub DeinMakro()
rem DeinCode
If Ergebnis ... then DeinMakroName
bzw DeinFunctionsName
gruss nighty
Antwort 8 von waddehaddedudeda
Total abgefahren, aber es funktioniert!
Danke allerseits!
Und ja fast einfacher als am C64 früher ,)
Danke allerseits!
Und ja fast einfacher als am C64 früher ,)