Verschachtelte Schleife mit IF Anweisungen
01.02.2009 01:59:54
Kalle
Hallo,
wer kann mir bei folgendem Problem helfen? Da ich ein blutiger VBA-Anfänger bin, sind alle meine bisherigen Versuche bereits im Ansatz gescheitert. Daher bitte ich euch um eure Hilfe! Sollte jemand einen Programmcode schreiben, bitte ich darum, diesen auch auszukommentieren, um verstehen zu können, was darin vorgeht. Vielen Dank für eure Hilfe.
Also:
Äußere Schleife:
Ich möchte die Spalte F(SetUp) absuchen bis sie den Prüfwert 1 oder -1 enthält.
Innere Schleife:
Wenn dies der Fall ist, möchte ich den Zellinhalt der Spalte E (Last) merken und mit insgesamt 120 Zeilen der Spalten C und D vergleichen. In der Tabelle ist dies z.B. der Wert 1,49205 welcher mit dem Bereich (C29:D149) verglichen werden soll. Die Zellen sollen in einer Schleife, also nacheinander, geprüft werden.
Für Prüfwert = 1 gilt.
Wenn ein Wert kleiner oder gleich (Last 0,002) ist, soll der Inhalt der Zelle neben den Prüfwert geschrieben, die innere Schleife abgebrochen und das Programm wieder an die äußere Schleife übergeben werden.
Wenn ein Wert größer oder gleich (Last + 0,002) ist, soll die Abbruchbedingung auf (Last) gesetzt und die Zellen weiter durchsucht werden.
Wenn der Wert wieder kleiner oder gleich (Last) ist, soll der Inhalt der Zelle neben den Prüfwert geschrieben, die innere Schleife abgebrochen und das Programm wieder an die äußere Schleife übergeben werden.
Wenn ein Wert größer oder gleich (Last + 2 * 0,002) ist, soll der Inhalt der Zelle neben den Prüfwert geschrieben, die innere Schleife abgebrochen und das Programm wieder an die äußere Schleife übergeben werden.
Wenn keine Abbruchbedingung Wahr wird soll die Zelle der Spalte E der letzten durchsuchten Zeile (also in dem Fall E149) neben den Prüfwert geschrieben werden, bevor das Programm wieder an die äußere Schleife übergeben wird.
Für Prüfwert = -1 gilt.
Wenn ein Wert größer oder gleich (Last + 0,002) ist, soll der Inhalt der Zelle neben den Prüfwert geschrieben, die innere Schleife abgebrochen und das Programm wieder an die äußere Schleife übergeben werden.
Wenn ein Wert kleiner oder gleich (Last - 0,002) ist, soll die Abbruchbedingung auf (Last) gesetzt und die Zellen weiter durchsucht werden.
Wenn der Wert wieder größer oder gleich (Last) ist, soll der Inhalt der Zelle neben den Prüfwert geschrieben, die innere Schleife abgebrochen und das Programm wieder an die äußere Schleife übergeben werden.
Wenn ein Wert kleiner oder gleich (Last - 2 * 0,002) ist, soll der Inhalt der Zelle neben den Prüfwert geschrieben, die innere Schleife abgebrochen und das Programm wieder an die äußere Schleife übergeben werden.
Wenn keine Abbruchbedingung Wahr wird soll die Zelle der Spalte E der letzten durchsuchten Zeile (also in dem Fall E149) neben den Prüfwert geschrieben werden, bevor das Programm wieder an die äußere Schleife übergeben wird.
Die äußere Schleife soll nun wieder die Spalte E (SetUP) vom letzen Prüfwert aus durchsuchen bis ein weiterer Prüfwert auftaucht oder die Zellen leer sind. Kommt erneut ein Prüfwert (1 oder -1) sollen wieder die nächsten 120 Zeilen wie beschrieben verglichen werden.
Ich hoffe dass sich ein Rätselfuchs findet, welcher sich dieser Aufgabe stellt. Vielen Dank für eure Hilfe.
Mit den besten Grüßen
Pascal