Oh Thomas, Ich sollte dich als Tester engagieren. Jetzt wo du es sagst, sehe ich es auch :-(
AA und 10 haben 2 Stellen, Z und 9 haben nur eine Stelle. Oh wie peinlich...
Hier der korrigierte Code
Private Sub Worksheet_Change(ByVal Target As Range)
'Hier die Parameter eintragen
Const c_lngSpNrAuftrAbgeschl As Long = 41 'Spaltennummer des Auftrag-abgeschlossen-Häkchens
Const c_strArchiv As String = "Archiv" 'Blattname des Archives
Const c_lngZeileMaxArchiv As Long = 65536 'maximale Zeilennummer des Archives
Dim lngZeileArchiv As Long
Dim wksArchiv As Excel.Worksheet
With Target.Cells
If InStr(1, .Cells.Address, ":") = 0 Then 'nur wenn eine einzelne Zelle gewählt ist
If .Column = 6 And .Value = "Ja" Then 'Ja in Spalte F
Call Kundenauftrag
End If
If .Column = 7 And .Value = "Ja" Then 'Ja in Spalte G
Call Auftragsdaten
End If
If .Column = c_lngSpNrAuftrAbgeschl And .Value = "ü" Then 'Auftrag abgeschlossen
Set wksArchiv = ThisWorkbook.Sheets(c_strArchiv)
lngZeileArchiv = wksArchiv.Cells(wksArchiv.Rows.Count, 1).End(xlUp).Row + 1
If lngZeileArchiv = c_lngZeileMaxArchiv Then
MsgBox "Das Archiv ist voll!", vbCritical, "F E H L E R !"
Else
.EntireRow.Copy Destination:=wksArchiv.Rows(lngZeileArchiv)
.EntireRow.Delete xlShiftUp
End If
Set wksArchiv = Nothing
End If
End If
End With
End Sub
|