Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilen sortiert in andere Tabelle verschieben

Zeilen sortiert in andere Tabelle verschieben
31.08.2007 15:14:45
maruseru
Hallo, hier wir ihr ja immer geholfen ;-)
Aus Tabelle Aktiv sollten alle Aufträge mit dem Status 'geschlossen' in die Tabelle Geschlossen verschoben werden. Der Rolls Royce wäre natürlich, wenn dies sortiert geschieht anhand der Auftragsnummer und wenn später ein alter Auftrag dazu kommt, dieser an der richtigen Stelle eingefügt wird.
kleine Beispiel Datei https://www.herber.de/bbs/user/45592.xls
Danke und Gruss
Maruseru

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen sortiert in andere Tabelle verschieben
31.08.2007 15:58:00
Chaos
Servus,
hab dir mal das geschrieben:

Sub Kopie()
Dim zeile As Long, loLetzte As Long
loLetzte = IIf(IsEmpty(Sheets(1).Cells(Rows.Count, 2)), Sheets(1).Cells(Rows.Count, 2).End(xlUp) _
.Row, Rows.Count)
loletzte1 = IIf(IsEmpty(Sheets(2).Cells(Rows.Count, 2)), Sheets(2).Cells(Rows.Count, 2).End( _
xlUp).Row, Rows.Count)
loletzte2 = loletzte1 + 1
For zeile = loLetzte To 2 Step -1 ' kopieren und löschen
If Sheets(1).Cells(zeile, 2).Value = "abgeschlossen" Then
Sheets(1).Cells(zeile, 2).EntireRow.Copy Sheets(2).Range("A" & loletzte2)
Sheets(1).Cells(zeile, 2).EntireRow.Delete
loletzte2 = loletzte2 + 1
End If
Next zeile
Dim LoLetzteNeu As Long
LoLetzteNeu = IIf(IsEmpty(Sheets(2).Cells(Rows.Count, 2)), Sheets(2).Cells(Rows.Count, 2).End( _
xlUp).Row, Rows.Count)
With Sheets(2) ' sortieren
On Error Resume Next
.Range("A2:A" & LoLetzteNeu).Sort Key1:=.Range("A2"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With
End Sub


Es wird erst kopiert und dann ans chließend sortiert. Wenn du doppelte vermeiden möchtest, dann kann man das so lösen
With Sheets(2) ' doppelte löschen
Dim zeile2 As Long
For zeile2 = loLetzteNeu To 2 Step -1
If .Cells(zeile2, 1).Value = .Cells(zeile2 -1, 1).Value Then
.Cells(zeile2, 1).EntireRow.Delete
End if
Next zeile2
End with
Das kann man nach dem sortieren ausführen. Es werden aber nur die Werte der Spalte A verglichen.
Gruß
Chaos

Anzeige
AW: Zeilen sortiert in andere Tabelle verschieben
31.08.2007 17:05:11
maruseru
Hallo Chaos
Hat auf beide Arten funktioniert. Du hast mir viel Zeit erspart, die ich jetzt am Wochenende geniessen
Wünsche Dir auch ein schönes Wochenende
Maruseru

AW: viel Spass mit der Freizeit
31.08.2007 17:12:27
Chaos
.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige