Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
728to732
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
728to732
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Probleme mit FOR-Schleife

Probleme mit FOR-Schleife
10.02.2006 09:08:39
masahiro
Hallo zusammen!
Wie kann es sein, dass mein Makro die For-Schleife verlässt, ohne dass es bis zur festgelegten Zahl durchgelaufen ist? Also soll bis 25 durchlaufen, wobei sich diese Zahl bei jedem Schleifendurchlauf verändern kann (füge im Rahmen einer Funktion Zeilen ein), und der springt mir bei 18 raus. Was könnte die Ursache sein?
Hier der Code:

Sub Vergleich()
Dim datensaetze1 As Integer
Application.ScreenUpdating = False
Dim A As Long
Dim B As Long
Dim C As Long
Dim j As Integer
Sheets(1).Select
datensaetze1 = ActiveSheet.Cells(Rows.Count, 7).End(xlUp).Row
For i = 2 To datensaetze1
A = Sheets(1).Cells(i, 13)
B = Sheets(1).Cells(i, 7)
C = Sheets(1).Cells(i, 14)
If Suchen(A, B, C, i, j) Then
i = i + j
datensaetze1 = datensaetze1 + j 'j gibt an ob und wenn ja wieviele Zeilen eingefügt wurden
j = 0
End If
If Sheets(1).Cells(i, 56) = "" Then
Sheets(1).Cells(i, 56) = "Text"
End If
Next i
Sheets(1).Select
Application.ScreenUpdating = True
End Sub

Vielen Dank
Henning

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit FOR-Schleife
10.02.2006 09:56:40
UweD
Hallo
versuch mal anstelle der "For, Next" Schleife "Loop, Do until"
so..

Sub Vergleich()
Dim datensaetze1 As Integer
Application.ScreenUpdating = False
Dim A As Long
Dim B As Long
Dim C As Long
Dim j As Integer
Sheets(1).Select
datensaetze1 = ActiveSheet.Cells(Rows.Count, 7).End(xlUp).Row
i = 2
Loop
A = Sheets(1).Cells(i, 13)
B = Sheets(1).Cells(i, 7)
C = Sheets(1).Cells(i, 14)
If Suchen(A, B, C, i, j) Then
i = i + j
datensaetze1 = datensaetze1 + j 'j gibt an ob und wenn ja wieviele Zeilen eingefügt wurden
j = 0
End If
If Sheets(1).Cells(i, 56) = "" Then
Sheets(1).Cells(i, 56) = "Text"
End If
Do Until i = datensaetze1
Sheets(1).Select
Application.ScreenUpdating = True
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige