Hallo zusammen,
ich habe eine Datei mit zwei Tabellenblättern. In dem einen Tabellenblatt befinden sich alle Projekte der letzten Jahre mit der Information, ob das Projekt abgeschlossen ist oder nicht. Steht in Spalte "D" eine 0, dann ist es abgeschlossen, andernfalls ist es noch offen.
Ich möchte jetzt in dem zweiten Tabellenblatt nur die Projekte reinkopieren, die noch offen sind. Wichtig ist, dass die gesamte Zeile aus dem ersten Tabellenblatt kopiert wird.
Ich habe ein kleines Skript geschrieben, dass allerdings nur funktioniert, wenn die noch offenen Projekte oben in der Liste stehen und nahtlos aufeinander folgen. So bald ein abgeschlossenes Projekt dazwischen kommt wird nicht weitergesucht oder wenn das erste/oberste Projekt abgeschlossen ist wird auch nichts kopiert.
Ich habe im zweiten Tabellenblatt (wo nur die offenen Projekte stehen sollen) eine Schlatfläche eingefügt und das Marko hinterlegt. Im Idealfall soll durch klicken der Schlatfläche das Makro ausgeführt werden und die ganze Liste aktualisiert werden, sprich, wenn es zuletzt 5 offene Projekte gab und danach nur noch 4, dass auch wirklich nur die 4 Projekte angezeigt werden.
Hier das Skript, dass ich geschrieben habe:
Sub ZelleKopieren()
Dim i, j As Integer
Dim wsAllTrainings, wsOpenTrainings As Worksheet
Set wsOpenTrainings = Worksheets("OpenTrainings")
Set wsAllTrainings = Worksheets(1)
i = 1: j = 1
While wsAllTrainings.Range("D" & i).Value <> "0"
If LCase(wsAllTrainings.Range("D" & i).Value) <> "0" Then
wsAllTrainings.Rows(i).Copy wsOpenTrainings.Rows(j)
j = j + 1
End If
i = i + 1
Wend
End Sub
Ich nutze Windows 10 und arbeite mit Excel 365.
Vielen Dank im voraus und ich hoffe, dass ich es genau genug beschrieben habe.
|