Von |
Miri |
Am |
11. August 2008 um 12:00:17 |
Frage |
Hallo zusammen,
ich hab mir eine userform gebastelt, die werte an eine tabelle übergibt. bei der eingabe sind fehler aber bisher absolut verboten, da es keinen weg zurück gibt. für dieses problem möchte ich jetzt einen "rückweg" ermöglichen, mittels zurück button.
dieser soll, wenn angeklickt, in die vorherige eingabe springen. konkret bei mir wenn: von abschlagsrechnung n in abschlagsrechnung n-1... abschlagsrechnung 3 in abschlagsrechnung 2 in abschlagsrechnung 1
ich hoffe ihr versteht was ich meine. hier noch der code
Private Sub cmdOK_Click() Dim lngZeile As Long Dim a As Integer Dim i As Integer
ActiveSheet.Unprotect
lngZeile = Cells(Rows.Count, 2).End(xlUp).Row + 1 If lngZeile < 3 Then lngZeile = 3
If MsgBox("Sind alle Eingaben korrekt?", vbYesNo, "Sicher?") = vbYes Then Range("B" & lngZeile) = KalenderVon Range("C" & lngZeile) = KalenderBis Range("E" & lngZeile) = TextBoxDauer2 TextBoxDauer2.Text = "" Range("F" & lngZeile) = TextBoxAZ Range("F" & lngZeile) = Format(CDbl(TextBoxAZ.Text), ("#,##0.00")) TextBoxAZ = "" Range("H" & lngZeile) = TextBoxSollzinsen TextBoxSollzinsen = "" KalenderVon.SetFocus Else MsgBox "Ändern Sie bitte die Daten" End If
Cells(lngZeile, 4).Value = DateDiff("d", Cells(lngZeile, 2).Value, Cells(lngZeile, 3).Value) + 1
Cells(3, 7) = (Cells(3, 6)) a = Range(Cells(Rows.Count, 6), Cells(Rows.Count, 6)).End(xlUp).Row For i = 4 To a Cells(i, 7) = Val(Cells(i - 1, 7)) + Val(Cells(i, 6)) Cells(i, 7) = Format(Cells(i, 7) * 1000, "#,###.00")
Next i
Cells(lngZeile, 9).Value = (Cells(lngZeile, 6).Value / 2 * Cells(lngZeile, 4).Value * _ (Cells(lngZeile, 8).Value / 36000)) + _ (Cells(lngZeile, 6).Value * Cells(lngZeile, 5).Value * _ (Cells(lngZeile, 8).Value / 36000))
Me.Label6 = "Rechnung: " & Cells(lngZeile + 1, 1).Value Me.Caption = "Dateneingabe"
If Cells(lngZeile + 1, 1).Value = "" Then Unload Me
Cells(a + 1, 9) = Application.WorksheetFunction.Sum(Range(Cells(3, 9), Cells(a, 9))) ActiveSheet.Protect End Sub
Private Sub UserForm_Initialize() Dim k As Long Dim Rechnung As Long Dim i As Long Dim lngZeile As Long
ActiveSheet.Unprotect
ActiveSheet.Range(Cells(3, 1), Cells(Rows.Count, Columns.Count)).ClearContents ActiveSheet.Range(Cells(3, 1), Cells(Rows.Count, Columns.Count)).Interior.ColorIndex = 2 Do Rechnung = Application.InputBox("Anzahl der Abschlagsrechnungen" & vbCr & "[ohne Schlussrechnung]", "Rechnungen", Type:=1) 'MsgBox "Zeile1" & vbCr & "Warnung!" If Rechnung < 1 Then MsgBox "ungültige Eingabe", vbOKOnly, "Fehler!" End If Loop While Rechnung < 1
Cells(Rechnung + 3, 1).Value = "Schlussrechnung" For lngZeile = 3 To (Rechnung + 2) 'Zeilenzähler Cells(lngZeile, 1).Value = "Abschlagsrechnung " & lngZeile - 2 Next
Me.Caption = "Dateneingabe" Me.Label6 = "Rechnung: " & Cells(3, 1).Value
Cells(Rechnung + 4, 8).Value = "Summe" Cells(Rechnung + 4, 8).Interior.ColorIndex = 3
Cells(Rechnung + 4, 9).Interior.ColorIndex = 3
ActiveSheet.Protect End Sub
für alternativen bin ich natürlich auch offen
lieben dank
die Miri |
|