Zeile kopieren, wenn Zelle den Wert "done" enthält
Schritt-für-Schritt-Anleitung
Um eine Zeile in Excel zu kopieren, wenn eine Zelle den Wert "done" enthält, kannst du ein einfaches VBA-Makro nutzen. Folge diesen Schritten:
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke auf
Einfügen
> Modul
, um ein neues Modul zu erstellen.
- Kopiere den folgenden VBA-Code in das Modul:
Option Explicit
Sub tt()
Dim n As Integer, pos As Integer
pos = 4 ' Startposition in Spalte AA
For n = 4 To 54 ' Gehe durch die Zeilen 4 bis 54
If Cells(n, 3) = "done" Then ' Überprüfe, ob in Spalte C "done" steht
Cells(n, 2).Copy Destination:=Range("AA" & pos) ' Kopiere Spalte B
Range(Cells(n, 4), Cells(n, 6)).Copy Destination:=Range("AA" & pos) ' Kopiere Spalten D bis F
Range(Cells(n, 2), Cells(n, 6)).ClearContents ' Lösche die Originaldaten
pos = pos + 1 ' Erhöhe die Zielposition für die nächste Zeile
End If
Next n
End Sub
- Schließe den VBA-Editor und kehre zu Excel zurück.
- Führe das Makro aus, indem du
ALT + F8
drückst, das Makro auswählst und auf Ausführen
klickst.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du kein Makro verwenden möchtest, kannst du auch die Filterfunktion in Excel nutzen:
- Markiere deine Daten und gehe zu
Daten
> Filter
.
- Aktiviere den Filter für Spalte C und wähle nur "done" aus.
- Kopiere die gefilterten Zeilen manuell in die gewünschte Zielzelle.
Praktische Beispiele
Angenommen, du hast folgende Daten:
A |
B |
C |
D |
E |
F |
1 |
Name |
Status |
Wert1 |
Wert2 |
Wert3 |
2 |
Peter |
done |
100 |
200 |
300 |
3 |
Anna |
pending |
150 |
250 |
350 |
4 |
Max |
done |
200 |
300 |
400 |
Nach dem Ausführen des Makros wird Spalte AA so aussehen:
AA |
AB |
AC |
Name |
Wert1 |
Wert2 |
Peter |
100 |
200 |
Max |
200 |
300 |
Tipps für Profis
- Verwende
Option Explicit
, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.
- Du kannst das Makro anpassen, um zusätzliche Kriterien zu verwenden, wenn du mehr als nur den Status "done" überprüfen möchtest.
- Speichere deine Datei als
.xlsm
, um die Makros zu erhalten.
FAQ: Häufige Fragen
1. Wie kann ich das Makro anpassen, um nach einem anderen Wert zu suchen?
Ändere einfach den Wert in der Bedingung: If Cells(n, 3) = "neuerWert" Then
.
2. Funktioniert das Makro in allen Excel-Versionen?
Ja, das Makro sollte in den meisten modernen Excel-Versionen (ab Excel 2007) funktionieren. Achte darauf, dass die Makros aktiviert sind.