Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
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

Verständnis For

Verständnis For
11.12.2020 13:34:47
Sarah
Guten Mittag,
ich komme mit diesem Makro leider garnicht zurrecht.
Ich verstehe den Ablauf der For Schleife nicht so ganz, zumindest macht das Makro nicht das was ich damit bezwecken will.
Was ich programmieren wollte:
zuerst fängt das Makro bei Zeile 2 an mit der Variable "Roww".
dann geht es die "lngRow" variable durch, also 2,3,4,5,6,7,8,9,10,11 während Roww noch 2 ist
und dann soll es die variable "Roww" eins weiter auf 12 gehen.
Dann wieder bei der "lngRow", 12,13,14,15,16,17,18,19,20,21 während Roww noch 12 ist
usw...
was mache ich falsch?
ps: habe aus dem Code elemente gelöscht in den If schleifen damit nur das wichtige sichtbar ist.
Dim lngRow As Long
Dim Roww As Long
Dim D As Long
'Wandelt den Zelleninhalt in ein Datum um
If IsDate(Worksheets("Übersicht").Cells(2, 4).Value) And IsDate(Worksheets("Übersicht"). _ Cells(3, 4).Value) Then
With Worksheets("Import Bestellformular")
'jede 10. Zeile
For Roww = 2 To .Cells(.Rows.Count, 6).End(xlUp).Row Step 10
lngRow = Roww
D = Roww + 9
Do Until lngRow = D

'Wandelt die spalte 3 und 4 in ein Datum um
If IsDate(.Cells(Roww, 3).Value) And IsDate(.Cells(Roww, 4).Value) Then
'Datum Bereich prüfen
If .Cells(Roww, 3).Value .Cells(Roww, 4).Value >= Worksheets("Übersicht").Cells(3, 4).Value Then 'prüfen ob Spalte N und P leer ist
If Not IsEmpty(.Cells(lngRow, 14).Value) And _
Not IsEmpty(.Cells(lngRow, 16).Value) Then
ElseIf Not IsEmpty(.Cells(lngRow, 14).Value) Then
ElseIf Not IsEmpty(.Cells(lngRow, 16).Value) Then
Else
End If
End If
End If
lngRow = lngRow + 1
Loop
Next Roww
End With
End If
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verständnis For
11.12.2020 14:12:55
Rudi
Hallo,
Do Until lngRow = D

das ist nicht der Fall und die komplette Do...Loop-Schleife wird nicht durchlaufen.
Warum nicht einfach anstatt do ... Loop
For lngRow=roww+1 to roww+9
'Code
Next lngRow

Gruß
Rudi
AW: Verständnis For
11.12.2020 14:15:18
worti
Hallo Sarah,
mach doch einfach 2 For-Schleifen:

For Roww = 2 To Cells(Rows.Count, 6).End(xlUp).Row Step 10
For lngRow = Roww To Roww + 9
MsgBox "rroww = " & Roww & Chr(10) & "lngrow = " & lngRow
Next lngRow
Next Roww

Im Beispiel wwerden dir die Inhalte der jeweiligen Laufvariablen angezeigt.
Anzeige
AW: Verständnis For
11.12.2020 15:42:02
Sarah
oh vielen Dank! das ist eine super Mehtode nachzuprüfen wie der Ablauf funktioniert.
Also stimmen jetzt die For und If methoden.
Dann muss der Fehler irgendwo anders bestehen dass Redundanzen aufkommen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige