Option
Explicit
Public
Const
cCOLS
As
String
=
"F:G"
Sub
DoIt(myRng
As
Range)
Dim
strName
As
String
If
Application.CountA(myRng.EntireRow) <= 1
Then
Exit
Sub
On
Error
GoTo
errorhandler
Application.EnableEvents =
False
strName = ActiveSheet.Columns(myRng.Column).Cells(1).Value
Select
Case
myRng.Parent.Name
Case
"Aktiv"
If
Not
IsEmpty(myRng)
Then
myRng.EntireRow.Copy _
Sheets(strName).Cells(Rows.Count, 1).
End
(xlUp).Offset(1)
myRng.EntireRow.Delete
End
If
Case
"Erledigt"
If
strName = ActiveSheet.Name
Then
If
Not
IsEmpty(myRng)
Then
Else
Columns(cCOLS).Rows(myRng.Row).ClearContents
myRng.EntireRow.Copy _
Sheets(
"Aktiv"
).Cells(Rows.Count, 1).
End
(xlUp).Offset(1)
myRng.EntireRow.Delete
End
If
Else
If
Not
IsEmpty(myRng)
Then
myRng.Offset(, -1).ClearContents
myRng.EntireRow.Copy _
Sheets(strName).Cells(Rows.Count, 1).
End
(xlUp).Offset(1)
myRng.EntireRow.Delete
Else
End
If
End
If
Case
"Archiv"
If
strName = ActiveSheet.Name
Then
If
Not
IsEmpty(myRng)
Then
Else
Columns(cCOLS).Rows(myRng.Row).ClearContents
myRng.EntireRow.Copy _
Sheets(
"Aktiv"
).Cells(Rows.Count, 1).
End
(xlUp).Offset(1)
myRng.EntireRow.Delete
End
If
Else
If
Not
IsEmpty(myRng)
Then
myRng.Offset(, 1).ClearContents
myRng.EntireRow.Copy _
Sheets(strName).Cells(Rows.Count, 1).
End
(xlUp).Offset(1)
myRng.EntireRow.Delete
Else
End
If
End
If
End
Select
On
Error
GoTo
0
errorhandler:
Application.EnableEvents =
True
End
Sub