Hi,
ich benötige mal ein bißchen Hilfe.
Folgende Problemstellung:
Ich habe eine Tabelle (Tabelle1) mit 6 Spalten. In dieser Tabelle haben alle bereits abgearbeiteten Fälle in Spalte 6 ein "x". Nun möchte ich alle Fälle ohne "x" (also noch nicht bearbeitet) in ein weiteres Tabellenblatt (Tabelle2) kopieren. Beide Tabellenblätter haben die gleiche Überschrift und Tabellenblatt 2 wird gesondert nach jeder Bearbeitung geleert. Da Tabelle1 weit mehr als 10000 Fälle hat, möchte ich die Prüfung von der letzten befüllten Zelle rückwärts laufen lassen und zwar nur bis zum ersten "x", da die neuen Fälle immer am Ende sind und sonst nirgendwo stehen können.
Ein kleines Beispiel:
1 |
2 |
3 |
4 |
5 |
6 |
A |
A |
A |
A |
A |
x |
B |
B |
B |
B |
B |
x |
C |
C |
C |
C |
C |
x |
D |
D |
D |
D |
D |
|
E |
E |
E |
E |
E |
|
F |
F |
F |
F |
F |
|
In diesem Beispiel müssten die Zeilen D, E, F in Tabelle2 kopiert werden. Und danach sollte die Prüfung enden.
Mein bisheriger Code: (Habs mit einer Do Until Schleife probiert)
Sub Kopieren()
Dim x As Long
Dim n As Integer
Worksheets("Tabelle1").Select
x = Worksheets("Tabelle1").UsedRange.SpecialCells(x1CellTypeLastCell).Row
n = 2
Do
Worksheets("Tabelle1").Row(x).Copy Destination:=Worksheets("Tabelle2").Rows(n)
x = x - 1
n = n + 1
Loop Until Worksheets("Tabelle1").Range("F:F") = "x"
End Sub
|