Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Eigenleben von For ... Next Schleifen?

Forumthread: Eigenleben von For ... Next Schleifen?

Eigenleben von For ... Next Schleifen?
08.06.2022 15:19:52
For
Moin aus Hamburg,
bei meinen Projekt scheinen sich Laufvariablen von For ... Next selbständig zu machen
(Beispielcode weiter unten). Da scheint die Variable J sich "eigenwillig" zu verhalten.

Sub Demo
Dim I as Integer, Imin as Integer, Imax as Integer
Dim J as Integer
Dim Target as Range
For I = Imin To Imax
Set Target = ThisWorkbook.Sheet(...).Range("Bereich" & Format(I, "00"))
'Die Bereiche in Sheet(...) sind durch Namen definiert.
For J = 1 To 2
If J = 1 then
Target(5, 109).Value = 1
'MsgBox(Target(5, 109).Value) ergibt tatsächlich "1"
End If
If J = 2 then
Target(5, 150).Value = 2
'MsgBox(Target(5, 150).Value) ergibt tatsächlich "2"
End If
Next J
'MsgBox(J) ergibt hier "3"
Next I
End Sub
'Der Wert "2", der in Target(5, 150) erscheinen soll, erscheint in Sheet(...)
in Target(5, 109) entgegen den Angaben in den ersten beiden message boxes.
'Zur Fehlersuche getestet: For J = 1 to 1.
'Jetzt erscheint der Wert "1" in Sheet(...) in Target(5, 150)
Vielen Dank im Voraus
Dieter
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eigenleben von For ... Next Schleifen?
08.06.2022 15:29:49
For
was mir sofort augefallen ist, dir fehlt ein s.
Set Target = ThisWorkbook.Sheets(...).Range("Bereich" & Format(I, "00"))
Dass J nach der Schleife 3 ergibt, ist normal
Gruß
Rudi
AW: Eigenleben von For ... Next Schleifen?
08.06.2022 15:54:38
For
Danke Rudi,
im Originatext steht "Sheets", wäre ja sonst als Programmfehler aufgefallen.
Nach dem Programmcode sieht es so aus, dass der Programmabschnitt in "If J = 1 ... End If"
ausgeführt wird, obwohl J in For ... To bereits auf J = 2 gesetzt wurde.
Habe versucht, den Wert J direkt nach For ... To durch JTemp = J "festzuhalten" und weiter unten
"If J = 1 ... End If" durch "If JTemp = 1 ... End If" ersetzt. Ohne Erfolg.
Viele Grüße
Dieter
Anzeige
AW: Eigenleben von For ... Next Schleifen?
08.06.2022 16:07:00
For
Hallo Rudi K.,
bei 'Zur Fehlersuche getestet:

For J = 1 to 1 
ergibt die Messagebox nach Verlassen der Schleife für J dann 2
Gruß Gerd
AW: Sorry @ Dieter! o.T.
08.06.2022 16:08:21
GerdL
AW: Eigenleben von For ... Next Schleifen?
08.06.2022 16:35:23
For
Moin Gerd,
die entscheidenden Operationen liegen in der Schleife J = 1 To 1:
If J = 1 then ... und If J = 2 then ... . Durch J = 1 to 1 als Test sollt nur der
Code für die Bedingung J = 1 durchlaufen weden, der Code für J = 2 nicht.
Tatsächlich erhielten die für J = 2 beschriebenen Zellen Einträge, was
ja durch For J = 1 To 1 ausgeschlossen sein sollte.
Beste Grüße
Dieter
Anzeige
AW: Eigenleben von For ... Next Schleifen?
08.06.2022 16:49:30
For
Löschst du die Inhalte vor jedem Test?
Oder stehen da noch die Inhalte von vorherigen Tests drin?
Wenn du die Zellinhalte abfragst, musst du da aufpassen, den die Zellen behalten ihren Wert.
Gruß Daniel
AW: Eigenleben von For ... Next Schleifen?
08.06.2022 17:53:27
For
Hallo Daniel und alle anderen,
Fehler gefunden und beseitigt, lag bei mir. Wenn Ihr so wollt, habe ich den Programmcode "totindiziert".
Suchmethode: Zelle(n) gesperrt, Blatt geschützt und auf Programmabsturz gewartet ... Punktlandung
beim Fehler im Code.
Noch einmal vielen Dank und viele Grüße
Dieter
Anzeige
AW: Eigenleben von For ... Next Schleifen?
08.06.2022 17:19:06
For

For I = Imin To Imax
Imin und Imax sind beide gleich Null, da du sie nur dimensioniert, ihnen aber keinen Wert zugewiesen hast.
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige