VBA-Excel Do-Schleife
02.09.2015 14:36:07
Rolle
ich bearbeite gerade ein Makro für eine Datenbank.
Das Makro soll wie folgt funktionieren.
Die Bestandsänderung wird in eine definierte Zelle eingetragen.
Daraufhin erscheint eine Messagebox, die abfragt ob die Eingabe korrekt war.
Bei Bestätigung wird der eingetragene Wert mit dem Bestand verrechnet, das Datum aktualisiert und Beides wird in eine Bestands-Historie kopiert.
Der Eintrag in der Historie sucht sich dabei immer die nächste leere Zelle aus.
Soweit funktioniert mein Code auch, jedoch wenn ich nun bei der Messagebox auf Abbrechen drücke bzw. bestätige, dass die Eingabe nicht korrekt war, löscht er zwar die Eingabe aber beendet auch komplett das Makro sprich eine erneute Eingabe ist nicht möglich. Ich vermute es stimmt etwas mit der Do-Schleife nicht aber finde auch nach langem Suchen den Fehler nicht x)
Vielen Dank!
https://www.herber.de/bbs/user/99972.xlsm
Hier der Code:
Do
'leeren der Zelle
If Target [G4] Then Exit Sub
Application.EnableEvents = False
Dim Wert01
Wert01 = Target
'Fenster Bestätigung
Dim Wert As Byte
Wert = MsgBox("Wert speichern?", 1, "Wert speichern")
If Wert = 1 Then GoTo sprungmarke2
If Wert = 2 Then GoTo sprungmarke
sprungmarke2:
'aktueller Bestand
[E4] = Wert01 + [E4]
Target = ""
Application.EnableEvents = True
'aktuelles Datum
[F4] = Date
'Auflistung
i = 4
Range("K4").Select
Do While Not ActiveCell.FormulaR1C1 = ""
i = i + 1
Range("K" & i).Select
Loop
ActiveCell.FormulaR1C1 = [E4]
Range("J" & i).Select
ActiveCell.FormulaR1C1 = Date
sprungmarke:
Range("G4").Select
Exit Do
Loop
End Sub