2.1k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,
ich habe eine Tabelle die in D4 beginnt und in Q2000 aufhört.
ich möchte nun in Spalte C bestimmte Zeilen mit einem "x"
makieren. Diese Zeilen sollen nun in das Tabellenblatt
"Archiv" kopiert werden und im Ursprung gelöscht. Dieser
Vorgang soll wiederholbar sein.
Vielen Dank im voraus.

11 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo,

- Autofilter über den Datenbereich legen
- nach dem "x" in Spalte C filtern
- gefilterte Daten markieren, kopieren zu "Archiv" wechseln und einfügen
- anschliessent gefilterte Daten löschen und Autofilter aufheben

Gruss
Rainer
0 Punkte
Beantwortet von
Hallo Rainer,
vielen Dank für Deine schnelle Antwort. Geht das auch mit VBA
da die Anwendung für ungeübte ist. mit Druck auf einen Button
wäre es einfacher
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo,

das kannst Du selbst machen.
Zeichne die geschilderte Prozedur mit dem Makrorecorder auf und weise den erhaltenen Code einem Button zu.

Gruss
Rainer
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Nachfrage:

soll die genannte Aktion nur einmal durchgeführt werden oder bei jedem weiteren Makrostart die Zeilen an die Archivliste angefügt werden?

Mit welcher Excelversion arbeitest Du?

Gruss
Rainer
0 Punkte
Beantwortet von
Hallo Rainer,
Die Aktion soll wiederholt werden. Dafür habe ich eine Lösung gefunden. Nur in der Tabelle sind auch Spalten mit Datumsformat
und nach einem Kopiervorgang werden manche Zeilen auf Standardformat gesetzt. Hast Du dafür vieleicht eine Erklärung.
Gruß Claus
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Claus,

dann poste doch mal Deinen Code und beschreibe Deinen Datenbereich etwas genauer als bisher.

Gruss
Rainer
0 Punkte
Beantwortet von
Hallo Rainer,
es ist eine Tabelle mit Namen, Adressen, Textfeldern. Außerdem gibts ein Feld mit Geb. Datum. Neben diesem Feld rechnet eine Formel das Alter.

Sub kopieren_löschen()
Selection.AutoFilter Field:=2, Criteria1:="x"
Range("B4:Q2200").Select
Selection.Copy
Sheets("Archiv").Select
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Range("B18").Select
Sheets("Warteliste").Select
Application.CutCopyMode = False
Selection.EntireRow.Delete
ActiveWindow.SmallScroll Down:=-48
Range("G1007").Select
ActiveWindow.SmallScroll Down:=-30
Range("B987").Select
ActiveWindow.SmallScroll Down:=-36
Selection.AutoFilter Field:=2
Range("B4").Select
End Sub

Gruß Claus
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Claus,

habe Dir mal eine Beispielmappe erstellt, bei der das Makro ohne Autofilter arbeitet.
Teste mal selbst.

Beispielmappe

Gruss
Rainer
0 Punkte
Beantwortet von
Hallo Rainer,
Wunderbar, vielen Dank. Das Makro ist wesentlich schneller.
Gruß
Claus
0 Punkte
Beantwortet von
Hallo Rainer,
wenn Du noch Nerven für mich übrig hast komme ich noch mit einem anderen Problem. Zu jedem Namen in der Warteliste gibt es persönl. Daten die ich gerne über eine Maske eingeben würde. Desweiteren soll an jeden Namen der Liste ein Erstkontaktbogen angehängt werden (vieleicht per Hyperlink).
Gruß Claus
...