zusammen.
Mit diesem Code verschiebe ich alle X in der Spalte J in das Tabellenblatt "gelöschte MA".
Private Sub CommandButton1_Click()
Rows("1:1").Select
Selection.AutoFilter
Dim TB2, LR1 As Long, LR2 As Long
Set TB2 = Sheets("gelöschte MA")
LR2 = TB2.Cells(TB2.Rows.Count, "A").End(xlUp).Row + 1
With Sheets("Leiharbeiter")
LR1 = .Cells(.Rows.Count, "A").End(xlUp).Row
If WorksheetFunction.CountA(.Range("J2:J" & LR1)) = 0 Then 'ÄNDERN WENN MEHR
MsgBox "Kein Datum vorhanden!"
Exit Sub
End If
If .AutoFilterMode Then .AutoFilterMode = False ' Autofilter ausschalten
.Range("A2:J" & LR1).AutoFilter Field:=1, Criteria1:="""""", Operator:=xlAnd 'Ä _
NDERN WENN MEHR
.Range("A2:J" & LR1).AutoFilter Field:=10, Criteria1:="X" 'ÄNDERN WENN MEHR + ZAHL _
_
11
.Range("A3:J" & LR1).Copy TB2.Range("A" & LR2) 'Zielzelle 'ÄNDERN WENN MEHR
.Range("A3:J" & LR1).EntireRow.Delete xlUp 'ÄNDERN WENN MEHR
.AutoFilterMode = False
TB2.UsedRange.Value = TB2.UsedRange.Value 'ggf Formeln raus
End With
'Sortieren
With TB2
LR2 = .Cells(.Rows.Count, "A").End(xlUp).Row
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("J3:J" & LR2) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 'ÄNDERN _
_
WENN MEHR
.Sort.SortFields.Add Key:=.Range("A3:A" & LR2) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SetRange .Range("A2:J" & LR2) 'ÄNDERN WENN MEHR
.Sort.Header = xlYes
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
End With
End Sub
ABER:
er nimmt die Zeilen mit X und wenn er aber kein X drin steht nimmt er alles mit rüber. ( Die Zeile ist eine Formel hinterlegt:
J3=WENN(F3="";"";WENN(DATUM(JAHR(F3);MONAT(F3)+3;TAG(F3)) Ich möchte gerne, das er nur die Zeilen mit X verschiebt. Sonst soll eine Meldung kommen ." kein X vorhanden"
Kann mir jemand helfen ?
Danke.