Programmieren - alles kontrollieren 4.934 Themen, 20.613 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
Dino30002 Nachtrag zu: „For Next Schleife und End if in VB“
Optionen

Es hat sich leider ein neues Problem ergeben.
Die von dir vorgeschlagene Lösung funktioniert zwar bei einer Bedingung aber nicht bei mehreren, so wie ich das unten einmal versucht habe.

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

Bei der Ausführung dieses Codes kriege ich die Fehlermeldung "Ungültiger Prozeduraufruf oder ungültiges Argument" irgendwo bei [weiterer Code].
Der Code in [weiterer Code] wird also ausgeführt falls nur einer der beiden Rückgaben nicht 1 ist. Wie kann ich es verwirklichen, dass der Code nicht ausgeführt wird, wenn eine der Rückgaben 1 ist?
Oder kennt jemand alternativ eine Funktion, die guckt, ob mehrere Wörter in einem Text vorhanden sind und dann, auch wenn nur eines der Wörter gefunden wird, True zurückgibt?

MfG,
Dino

bei Antwort benachrichtigen
Neues Problem Borlander