Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
116to120
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
116to120
116to120
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem mit Schleife "Do Loop"

Problem mit Schleife "Do Loop"
29.04.2002 09:56:37
MikeS
Hallo Leute,

mit nachfolgendem Makro prüfe ich bis zur ersten leere Zelle in Spalte 1 , ob in Spalte 1 (beginnend ab A7) in den Zellen eine Formel oder der Text "s.oben" steht.

Private Sub CommandButton1_Click()

Dim i As Integer
On Error Resume Next
i = 7

Do Until IsEmpty(Cells(i, 1).Value)
If Cells(i, 1).HasFormula Then
Range(Cells(i, 2), Cells(i, 6)).ClearContents
ElseIf (Cells(i, 1).Value = "s.oben") Then
Rows(i).Select
Selection.EntireRow.Delete
i = i - 1
End If
i = i + 1
Loop
End Sub

Steht eine Formel drin, werden in der betreffenden Zeile die Spalte 2 bis6 gelöscht = Range(Cells(i, 2), Cells(i, 6)).ClearContents .

Steht der Text "s.oben" drin, soll die gesamte Zeile gelöscht werden (wie mit "Strg" + "-").

Wenn ich das Makro starte, kann ich nur mit "Strg" + "Esc" aus der Schleife "aussteigen".

Was mache ich falsch???

Vielen Dank
MikeS

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Problem mit Schleife "Do Loop"
29.04.2002 10:59:18
Coach
Hallo Mike, ohne .value funzt es: Do Until IsEmpty(Cells(i, 1)) Gruß Coach
Funzt leider nicht!!!!!!!!!
29.04.2002 11:58:57
MikeS
Hallo Coach, danke für Deinen Tip. Leider komme ich wieder nur mit "Esc" aus der Schleife raus. Wenn ich das Makro also mit "Esc" unterbreche und in die Tabelle wechsle, ist die zu löschende Spalte (A(i)= "s.oben") markiert. Vielleicht noch `ne Idee??? Das ist nun der aktuelle Code: Private Sub CommandButton1_Click() Dim i As Integer On Error Resume Next i = 7 Do Until IsEmpty(Cells(i, 1)) If Cells(i, 1).HasFormula Then Range(Cells(i, 2), Cells(i, 6)).ClearContents ElseIf (Cells(i, 1).Value = "s.oben") Then Rows(i).Select Selection.EntireRow.Delete i = i - 1 End If i = i + 1 Loop End Sub Danke MikeS
Anzeige
Re: Funzt leider nicht!!!!!!!!!
29.04.2002 13:18:47
Coach
Hallo Mike, verstehe ich nicht: "zu löschende Spalte". Hast Du eventuell noch irgendwelche Events in Deiner Tabelle/Datei , die auf diese Änderungen reagieren?. Versuch den Code mal in einer ansonsten "nackten" Mappe, also nur mit den Daten und diesem Code. Gruß Coach
Re: Problem mit Schleife "Do Loop"
29.04.2002 13:56:52
Martin Beck
Hallo Mike, beim ersten Eintreffen von "s.oben" ist die ElseIf-Bedingung erfüllt und Du rechnest i=i-1 Vor dem Loop rechnest Du dann i=i+1 Daraus folgt, daß i unverandert bleibt, denn die zweite "Formel" entspricht i=i-1+1. Und wenn i unverändert bleibt, hängst Du in einer Endlosschleife. Laß das i=i-1 weg, dann müßte es gehen. Gruß Martin Beck
Anzeige
Re: Problem mit Schleife "Do Loop"
29.04.2002 14:24:59
Coach
Hallo Martin, das mit dem i = i-1 ist schon okay, da wenn die Zeile i gelöscht wird die bisherige Zeile i+1 ja dann i ist und i=i-1 und i=i+1 wieder i ist. Gruß Coach
Sorry, lag am Blattschutz! Jetzt funzt es!!!
29.04.2002 14:38:31
MikeS
Hi Coach, so klappts!!! Private Sub CommandButton1_Click() Application.ScreenUpdating = False ActiveSheet.Unprotect Password:="bulls23" Dim i As Integer On Error Resume Next i = 7 Do Until IsEmpty(Cells(i, 1)) If Cells(i, 1).HasFormula Then Range(Cells(i, 2), Cells(i, 6)).ClearContents Else Rows(i).Select Selection.EntireRow.Delete i = i - 1 End If i = i + 1 Loop Cells(3, 3).Activate Application.ScreenUpdating = True ActiveSheet.Protect End Sub Danke für Deine Hilfe.
Anzeige
Sorry, übersehen
29.04.2002 14:43:40
Martin Beck
Hallo Coach, Du hast natürlich recht, das hatte ich übersehen (und nicht getestet). Die letzte Variante des Makros läuft bei mir einwandfrei, ich kann den Fehler nicht reproduzieren. Vielleicht sollte Mike mal den Tabellenaufbau für den Bereich um die Zelle herum posten, in der das Makro hängen bleibt. Gruß Martin Beck

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige