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

Do Until - Schleife verlassen funktioniert nicht.

Do Until - Schleife verlassen funktioniert nicht.
22.09.2008 20:53:34
Stefan
Hallo Excelfreunde, bitte um Hilfe.
Do Until - Schleife mit Exit Do verlassen funktioniert nicht.
Abbruchbedingung: If TPFehlt = 1 Then Exit Do
Trotz längerem Suchen habe ich nicht herausgefunden, warum die Fehlermeldung kommt.

Sub Zuordnen()
Dim letzteZeile As Integer, Nr As Integer, ZNr As Integer, TPFehlt As Integer
Dim Kopieranfang As Integer, Kopierende As Integer
Dim TP As String, TP1 As String
Nr = 0
On Error GoTo Fehler
'Application.ScreenUpdating = False
' alte Daten löschen
Sheets("Ergebnis").Select
Range("A2").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Delete Shift:=xlToLeft
' TP einlesen
Sheets("LvB").Activate
Range("X1").Select
Do Until ActiveCell.Value = ""
ActiveCell.Offset(1, 0).Select
TP = ActiveCell.Value
Kopieranfang = 2
Nr = Nr + 1
TPFehlt = 0
Sheets("Transponder").Activate
letzteZeile = Cells(Rows.Count, 2).End(xlUp).Row
Debug.Print letzteZeile
Range("b2").Select
TP1 = ActiveCell.Value
Do While TP1  TP
ActiveCell.Offset(1, 0).Select
TP1 = ActiveCell.Value
' TP1 wird nicht gefunden
If Kopieranfang = letzteZeile And TP1  TP Then
Sheets("Ergebnis").Select
Range("B1").Select
letzteZeile = Cells(Rows.Count, 2).End(xlUp).Row
ActiveCell.Offset(letzteZeile + 1, -1).Select
ActiveCell.Value = Nr
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = "TP fehlt"
TPFehlt = 1
Exit Do
End If
If IsEmpty(ActiveCell) Then Exit Do
Kopieranfang = ActiveCell.Row
Loop
Do While TP1 = TP
Kopierende = ActiveCell.Row
ActiveCell.Offset(1, 0).Select
TP1 = ActiveCell.Value
Loop
If TPFehlt = 1 Then Exit Do ' hier soll die Schleife beendet werden (Sprung zu Loop)
' aber es kommt die Fehlermeldung: Fehlernummer: 0
Range(Cells(Kopieranfang, 1), Cells(Kopierende, 20)).Copy
Sheets("Ergebnis").Select
Range("B1").Select
letzteZeile = Cells(Rows.Count, 2).End(xlUp).Row
ActiveCell.Offset(letzteZeile + 1, -1).Select
ActiveSheet.Paste
ActiveCell.Value = Nr
Sheets("LvB").Activate
Loop
Fehler:
MsgBox "Fehler aufgetreten." & vbCrLf & _
"Fehlernummer: " & Err.Number & vbCrLf & _
"Beschreibung: " & Err.Description
Application.ScreenUpdating = True
End Sub


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

Betreff
Datum
Anwender
Anzeige
AW: Do Until - Schleife verlassen funktioniert nicht.
22.09.2008 21:10:50
Daniel
Hi
Kannst du ne Datei hochladen, in das Makro läuft und der Fehler auftritt?
So rein theoretisch ist es nicht immer leicht, den Fehler zu finden und was genaus wichtig ist, die Lösungsidee zu testen.
aber nur so als Tip:
solange das Makro noch in der Testphase ist, solltest du auf die pauschale Fehlerbehandlung verzichten. (On Error Goto Fehler)
im Falle eines Fehlers gibt dir Excel die gleichen Informationen mit dem zusätzlichen Vorteil, daß das Makro an an der fehlerhaften Zeile stoppt.
du siehst also sofort, wo der Fehler passiert, was die Fehlersuche und -korrektur vereinfacht, denn oft kann man das Makro nach erfolgter fehlerkorrektur sofort weiterlaufen lassen
Gruß, Daniel
Anzeige
AW: Do Until - Schleife verlassen funktioniert nicht.
22.09.2008 21:17:39
Daniel
Hi
tschuldigung, ich sehs grade
dein Makro funktioniert einwandfrei, die Schleife wird korrekt verlassen.
die Fehlernummer 0 weist darauf hin, daß KEIN Fehler passiert ist, sondern alles i.0. ist.
wenn du dich trotzdem wunderst, warum die Fehlermeldung kommt, dann schau einfach mal nach, was denn der nächste Befehl nach LOOP ist ;-)
Gruß, Daniel

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige