Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge

For Next Schleife und End if in VB

Dino30002 / 15 Antworten / Flachansicht Nickles

Hi,


ich habe ein Problem mit einer For Next-Schleife. Hier ist der Code:


For zaehler = 2 To TextBoxLineCount(Text1)
zeile = zeile + 1
If StrCount(TextBoxLine(Text1, zeile), "Begiena:") = 1 Then
Next zaehler
End if
[weiterer Code]
Next zaehler


Bei der Ausführung wird der Fehler "Next ohne For" ausgelöst und es wird eine Markierung auf das erste Next gesetzt. In der VB Hilfe steht, dass dieser Fehler unter anderem durch eine falsche If-End if Struktur innerhalb der Schleife ausgelöst werden kann. Das scheint bei meinem Code auch der Fall zu sein, aber ich habe ja gar keine Möglichkeit gleichzeitig die If-Schleife zu beenden und die Schleife neu aufzurufen, oder? Denn wenn ich das End if vor das Next setzen würde, wäre das If-End if unsinnig.


MfG,
Dino

bei Antwort benachrichtigen
Neues Problem Dino30002
Neues Problem Borlander
Dino30002 Nachtrag zu: „For Next Schleife und End if in VB“
Optionen

So ganz hab ich das Xor noch nicht durchschaut, aber ich glaube das funktioniert nur mit 2 Bedingungen, oder? Ich bräuchte allerdings noch ein paar mehr.

Ich glaube nicht, dass dir diese einzelne Zeile helfen wird zu erkennen warum der Code nicht funktioniert, daher kopiere ich mal die ganze Sub hier rein.

Private Sub Aktualisieren_Click()
Dim filter1 As String
Dim zaehler
Dim zeile As Long
zeile = "0"
If Städte.Text = "Stadt wählen" Then
MsgBox "Bitte Stadt wählen", vbInformation, "Stadt wählen"
GoTo ende
End If
If Preise.Value = False And Menge.Value = False Then
MsgBox "Bitte eine Option aktivieren", vbInformation, "Preis oder Menge?"
ElseIf Preise.Value = True Then
For zaehler = 2 To TextBoxLineCount(Text1)
zeile = zeile + 1
If Not StrCount(TextBoxLine(Text1, zeile), "Verbindung") = 1 Or Not StrCount(TextBoxLine(Text1, zeile), "Verbindung") = 1 Then
filter1 = Filter(TextBoxLine(Text1, zeile), cNumbers & cWhiteSpaces & "$" & "/" & ":")
IniWrite Städte.Text & "Verkaufen", filter1, Mid(TextBoxLine(Text1, zeile), InStrLikeRev(TextBoxLine(Text1, zeile), "/") + 2)
IniWrite Städte.Text & "Ankaufen", filter1, TrimWS(Filter(Replace(TextBoxLine(Text1, zeile), Mid(TextBoxLine(Text1, zeile), InStrLikeRev(TextBoxLine(Text1, zeile), "/")), "a"), cLetters & ":"))
End If
Next zaehler
End If
ende:
End Sub

Sorry dafür, dass der Code nicht eingerückt ist, ich weiß nicht so recht wie da die Regeln sind.

bei Antwort benachrichtigen