Tipps & Tricks 30.07.2002, 20:30 Uhr

Wert in Spalte suchen und entsprechende Zeile verschieben - Excel

Ich verwende Excel 97 und möchte in einer Spalte (z.B. N) nach einem bestimmten Wert (z.b.3) suchen. Es soll erst ab der 5. Zeile mit der Abfrage begonnen werden. Die Zeilen mit dem gesuchten Wert, sollen dann in ein neues Blatt mit Namen «Archiv» verschoben werden. Ich benutze in der Tabelle «Gültigkeitskriterien» und «bedingte Formatierungen».
Um ganze Zeilen in eine andere Tabelle zu verschieben können Sie ein Makro anwenden. Laut ihrer Vorgabe sollen jene Zeilen verschoben werden, die in Spalte N eine 3 enthalten. Die Zeilen 1-4 werden nicht berücksichtigt.
Fügen Sie das Makro, welches Sie hier am Ende finden, in ein Modul ihrer Arbeitsmappe ein. Sie müssen die beiden Blattnamen und evt. die Spalte auf Ihre Bedürfnisse anpassen.
Bei der Ausführung dieses Makros wird in der Spalte N nach der Zahl 3 gesucht und die gefundenen Zeilen in das Blatt "Archiv" verschoben.
MAKRO
------------------------------------------------
Sub ZellenVerschieben()
Dim L, A, Z, S, s2, ZEnd As String
S = "N4"
L = "Liste"
A = "Archiv"
Sheets(L).Select
Range(S).Select
Selection.End(xlDown).Select
ZEnd = ActiveCell.Offset(1, 0).Row
Do Until ActiveCell.Row = ZEnd
Range(S).Select
Cells.Find(What:="3", After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlWhole, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:= _
False).Activate
Z = ActiveCell.Row
s2 = ActiveCell.Column
If s2 = 14 Then
Rows(Z).Select
Selection.Copy
Sheets(A).Select
Range("A2").Select
If ActiveCell.Value > 0 Then
If ActiveCell.Offset(1, 0).Value > 0 Then
Selection.End(xlDown).Offset(1, 0).Select
Else: ActiveCell.Offset(1, 0).Select
End If
End If
Selection.Insert Shift:=xlDown
Sheets(L).Select
Rows(Z).Delete
ZEnd = ZEnd - 1
Else: Exit Sub
End If
Loop
End Sub
------------------------------------------------


Kommentare
Es sind keine Kommentare vorhanden.