Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1576to1580
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

Ich kann keine Schleife!

Ich kann keine Schleife!
31.08.2017 12:38:15
Reinhardt
Hallo zusammen,
ich möchte in ein aktuelles Fahrtenbuch die NICHTBENUTZTEN Tage per VBA eintragen.
Dazu brauche ich eine Schleife die zwischen zwei nicht aufeinanderfolgenden Datumsangaben eine Zeile einfügt, und das Datum ergänzt.
Mein Problem:
Damit verändert sich ja immer wieder die LETZE ZEILE, meine Versuche mit einer Schleife enden immer nach dem ersten ermitteln der LZ.
Wer kann mir einmal einen Tip geben?
Viele Grüße
Reinhardt
Sub WhileBsp()
Dim i As Integer
Dim LZ%
LZ = Cells(Rows.Count, 1).End(xlUp).Row + 1
i = 1
While i  LZ
Range("B" & i).Select
If Range("B" & i).Value > 1 Then
Rows(ActiveCell.Row).Insert
Range("A" & i).Value = "Test"
End If
MsgBox "While-Schleife: " & i
i = i + 1
Wend
End 

Sub


		

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ich kann keine Schleife!
31.08.2017 12:41:44
UweD
Hallo
sowas macht mal in der Regel so. (ungetestet)
for i = LZ to 1 Step-1
'...
next
LG UweD
AW: Ich kann keine Schleife!
31.08.2017 12:55:20
Daniel
Hi
in der While-Schleife kann man doch problemlos den Schleifenendwert verändern.
dh wenn du eine zusätzliche Zeile einfügtst, musst du auch ein LZ = LZ + 1 ausführen
allerdings ist die bereits vorgeschlagene rückwärts laufende For-Next-Schleife die bessere Wahl.
Gruß Daniel
AW: Ich kann keine Schleife!
31.08.2017 13:24:07
Reinhardt
Hallo,
danke für die schnellen Antworten.
Die Krucks ist:
Bei den Ziffernfolge untereinander: z.B.18 19 21 22 24
soll eine Leerzeile mit Datum nach der 19 kommen.
Die Schleife, auch mit euren Tips, fügt dann die nächste
Leerzeile nun hinter der neuen 20 ein und läuft nicht weiter zur 22 um danach eine Zeile einzufügen.
Viele Grüße
Reinhardt
Anzeige
AW: Ich kann keine Schleife!
31.08.2017 13:36:58
yummi
Hallo Reinhardt,
mach dir mal eine Liste von 1 bis 20 in spalte A beginnend mit A1
und lass das mal laufen:

Sub vorjedeungeradeeinbuchstabe()
Dim i As Long
For i = 20 To 1 Step -1
If ActiveSheet.Cells(i, 1).Value Mod 2 = 1 Then
ActiveSheet.Cells(i, 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveSheet.Cells(i, 1).Value = "neu"
End If
Next i
End Sub
Gruß
yummi
AW: Ich kann keine Schleife!
31.08.2017 13:54:49
Daniel
Hi
ich würde da prinzipell etwas anders vorgehen:
alle fehlenden Datumswerte unterhalb der Tabelle einfügen und dann die ganze Tabelle nach dem Datum sotieren.
Wenn beispielsweise die Datumswerte in Spalte A stehen, könnte der Code dafür so aussehen:
dim i as Long
for i = Worksheetfunction.Min(Columns(1)) to Worksheetfunction.Max(columns(1))
if worksheetfunction.countif(Columns(1), i) = 0 then
Cells(Rows.count, 1).end(xlup).Offset(1, 0).value = i
end if
Next
Activesheet.usedrange.sort key1:=Cells(1, 1), order1:=xlascending, Header:=xlguess
Gruß Daniel
Anzeige
Vielen Dank für eure Tips! Ich komme nun klar o.T.
31.08.2017 15:21:17
Reinhardt
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige