Ich möchte alle Jobs verschieben, wenn sie als "Abgeschlossen" markiert sind, in ein separates Arbeitsblatt.
Ich habe den Code unten geschrieben, aber er funktioniert nicht oder scheint nicht ausgeführt zu werden. Ich habe VB noch nicht benutzt, bin mir also nicht sicher, was ich tue.
Ich habe die Zielspalte genannt rngTrigger
und die Zielzeile im neuen Arbeitsblatt mit dem Namen rngDest
.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngDest As Range
Set rngDest = Worksheets("Fin_Y16_Q4").Range("rngDest")
' Limit the trap area to range of cells in which completed dates are entered as defined above
If Not Intersect(Target, Range("rngTrigger")) Is Nothing Then
' Only trigger if the value entred is Completed
If UCase(Target) = "COMPLETED" Then
'Ensure subsequent deletion of 'moved' row does NOT cause the Change Event to run again and get itself in a loop!
Application.EnableEvents = False
Target.EntireRow.Select
Selection.Cut
rngDest.Insert Shift:=xlDown
Selection.Delete
' Reset EnableEvents
Application.EnableEvents = True
End If
End If
End Sub