Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro geht in unendlich

Forumthread: Makro geht in unendlich

Makro geht in unendlich
07.04.2022 13:27:16
javiersc
Hallo liebes Forum,
ich habe ein Problem bei einer For...Next Anweisung und zwar dass ich nicht weiß wo ich die Exit for Anweisung schreiben soll damit der Makro nicht in unendlich geht.
Ich hoffe ihr könnt mir helfen!
Danke!
Anbei mein code:

Sub LeereZeile_Loeschen()
Dim i As Integer
Dim y As Integer
y = WorksheetFunction.CountIf(Range("A:A"), "WAHR")
ThisWorkbook.Worksheets("ExportTable").Range("A:A").EntireColumn.Delete
For i = 3 To y
If ThisWorkbook.Worksheets("ExportTable").Cells(i, 1) = "" Then
ThisWorkbook.Worksheets("ExportTable").Range(Cells(i, 1), Cells(i, 42)).Delete
i = i - 1
Else
If ThisWorkbook.Worksheets("ExportTable").Cells(i, 43) = "" Then
ThisWorkbook.Worksheets("ExportTable").Range(Cells(i, 43), Cells(i, 89)).Delete
i = i - 1
End If
End If
If ThisWorkbook.Worksheets("ExportTable").Cells(i, 1) = "" And ThisWorkbook.Worksheets("ExportTable").Cells(i, 43) = "" Then
Exit For
End If
Next i
End Sub
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro geht in unendlich
07.04.2022 13:43:46
Rudi
Hallo,
Zellen löschen immer von unten nach oben!!!
Außerdem stimmen deine Referenzierungen tw. nicht.
Teste mal:

Sub LeereZeile_Loeschen()
Dim i As Integer
Dim y As Integer
With ThisWorkbook.Worksheets("ExportTable")
y = WorksheetFunction.CountIf(.Range("A:A"), "WAHR")
.Range("A:A").EntireColumn.Delete
For i = y To 3 Step -1
If .Cells(i, 1) = "" Then
.Range(.Cells(i, 1), .Cells(i, 42)).Delete
Else
If .Cells(i, 43) = "" Then
.Range(.Cells(i, 43), .Cells(i, 89)).Delete
End If
End If
'      If .Cells(i, 1) = "" And .Cells(i, 43) = "" Then
'        Exit For
'      End If
Next i
End With
End Sub
Gruß
Rudi
Anzeige
AW: Makro geht in unendlich
07.04.2022 14:02:42
GerdL
Hallo,
zur Erklärung der Endlosigkeit.

Sub test()
Dim i As Long, y As Long, Z As Long
y = 20
For i = 3 To y
i = i - 1
MsgBox i
Z = Z + 1
If Z = 5 Then Exit For
Next
End Sub
Gruß Gerd
;

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