Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1376to1380
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

IF-Bedingung erfüllt, Wert auf TRUE

IF-Bedingung erfüllt, Wert auf TRUE
22.08.2014 10:48:06
Thomas
Hallo zusammen,
Ich habe eine IF-Bedingung innerhalb einer For-Schleife. Wenn diese erfüllt ist, wird eine bestimmte Variable auf "True" gesetzt.
Die IF-Bedingung ist im Verlaufe der For-Schleife öfter wie einmal erfüllt, jedoch soll eine weitere Anweisung nur dann ausgeführt werden, wenn die Variable das allererste Mal auf "True" gesetzt wird. Wird die Variable dann ein zweites oder drittes mal auf "True" gesetzt, soll nichts mehr passieren.
Wie kann ich das realisieren?
Vielen Dank!
Gruß,
Thomas

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: IF-Bedingung erfüllt, Wert auf TRUE
22.08.2014 11:02:00
Jack_d
Hallo Thomas
ich persönlich würde, ohne deinen Code jetzt zu kennen,
die Routine mit exit sub verlassen nachdem true erfüllt ist.
Grüße

AW: IF-Bedingung erfüllt, Wert auf TRUE
22.08.2014 11:06:10
Frank
Hallo Thomas,
setze gleichzeitig mit der Zuweisung des TRUE einen Zähler hoch und prüfe vor dem Ausführen der IF-Bedingung, ob er grösser als 1 ist.
Grüsse,
Frank

AW: IF-Bedingung erfüllt, Wert auf TRUE
22.08.2014 11:08:46
Luschi
Hallo Thomas,
hier mal ein praktischer Versuch:

Sub testBool()
Dim b As Boolean, i1 As Integer, i2 As Integer
i2 = 100
b = True
For i1 = 1 To i2
If i1 Mod 10 = 0 Then
If b Then
MsgBox "Jetzt ist die IF-Bedingung das 1. Mal erfüllt!" & vbCrLf & vbCrLf & _
"Achtung, diese Meldung erscheint nie wieder!", 64, "zur Information..."
b = False
End If
End If
Next i1
MsgBox "Schleifenende erreicht", 48
End Sub
Gruß von Luschi
aus klein-Paris

Anzeige
AW: IF-Bedingung erfüllt, Wert auf TRUE
22.08.2014 11:35:45
Thomas
Danke für eure Tipps!
Ich werde sie ausprobieren.
Gruß,
Thoams

Prinzipiell löst man so etwas wie folgt ...
22.08.2014 20:26:33
Luc:-?
…am Elegantesten, Thomas (kursiv → entsprd Daten/CodeKonstrukte):
Dim isAbbr As Boolean, ix As Long …
…
For ix = m To n
…
Let isAbbr = bedingungsvgl
If isAbbr Then Exit For
…
Next ix
If isAbbr Then    'falls davon noch Anderes abhängig gemacht wdn soll!
…
End If
…
Das fktt mit einem For Each-Zyklus im Prinzip genauso, aber ohne die Variable isAbbr gibt's zwischen beiden ZyklusTypen Unterschiede:
For ix = m To n
…
If bedingungsvgl Then Exit For
…
Next ix
If ix n Then
…
End If
…bzw …
Dim …, datFeld, lVar 'As Variant
…
For Each lVar In datFeld
…
If bedingungsvgl Then Exit For
…
Next lVar
If Not IsEmpty(lVar) Then    'nur im Weiterbhdlsfall!
…
End If
…oder falls es sich um Objekte wie bspw einen Bereich handelt …
Dim …, Bereich As Range, zBer As Range
…
For Each zBer In Bereich
…
If bedingungsvgl Then Exit For
…
Next zBer
If Not zBer Is Nothing Then    'nur im Weiterbhdlsfall!
…
End If
Im Falle der 3 letzten Bspp wurde die Bedingung niemals erfüllt, wenn entweder ix>n oder lVar=Empty bzw zBer Nothing ist.
Gruß, Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige