Zeile kopieren, wenn Wert in Zelle
Schritt-für-Schritt-Anleitung
Um in Excel eine Zeile zu kopieren, wenn ein bestimmter Wert in einer Zelle vorhanden ist, kannst du den folgenden VBA-Code verwenden. Dieser Code wurde im Forum von Hans und Hary diskutiert und angepasst.
- Ö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 Code in das Modul:
Sub Copy_Value()
Dim i As Long, suchCol As Long
Dim strSearch As Long
Dim srcWks As Worksheet, tarWks As Worksheet
'Tabellennamen anpassen
Set srcWks = Worksheets("Tabelle1") 'Wo gesucht werden soll
Set tarWks = Worksheets("Tabelle2") 'Wo hinkopiert werden soll
'8 = Spalte H
suchCol = 8
strSearch = 99 'Suchwert anpassen
With srcWks
For i = 1 To .Cells(Rows.Count, suchCol).End(xlUp).Row
If .Cells(i, suchCol).Value > strSearch Then
Rows(i).Copy Destination:=tarWks.Cells(tarWks.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
End If
Next i
End With
End Sub
- Passe den
strSearch
-Wert nach Bedarf an. In diesem Beispiel wird nach Werten größer als 99 gesucht.
- Schließe den VBA-Editor und führe das Makro aus, um die Zeilen zu kopieren.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du keine VBA verwenden möchtest, kannst du auch einen Filter in Excel verwenden:
- Wähle die Daten aus, die du filtern möchtest.
- Gehe zu
Daten
> Filter
.
- Klicke auf den Dropdown-Pfeil in der Spaltenüberschrift und wähle
Zahlenfilter
> Größer als...
.
- Gib den Wert (z.B. 99) ein und klicke auf
OK
.
- Kopiere die gefilterten Zeilen und füge sie in ein anderes Arbeitsblatt ein.
Praktische Beispiele
Angenommen, in Tabelle1
befinden sich in Spalte H folgende Werte:
A |
B |
C |
... |
H |
1 |
... |
... |
... |
50 |
2 |
... |
... |
... |
120 |
3 |
... |
... |
... |
80 |
4 |
... |
... |
... |
150 |
Wenn du das Makro ausführst, werden die Zeilen mit den Werten 120 und 150 in Tabelle2
kopiert.
Tipps für Profis
- Experimentiere mit anderen Bedingungen im
If
-Statement, z.B. >=
, <=
oder =
, um verschiedene Werte zu filtern.
- Du kannst auch mehrere Spalten gleichzeitig prüfen, indem du zusätzliche
If
-Bedingungen hinzufügst.
- Speichere deine Arbeitsmappe regelmäßig, bevor du Makros ausführst, um Datenverluste zu vermeiden.
FAQ: Häufige Fragen
1. Kann ich den Code auch für andere Werte verwenden?
Ja, passe einfach den strSearch
-Wert im Code an, um nach anderen Zahlen oder Bedingungen zu suchen.
2. Ist es möglich, mehrere Kriterien zu verwenden?
Ja, du kannst mehrere If
-Bedingungen kombinieren, um komplexere Filter zu erstellen, z.B. If .Cells(i, suchCol).Value > 99 And .Cells(i, 1).Value = "Beispiel"
.
3. Funktioniert das auch in Excel Online?
Der VBA-Code funktioniert nur in der Desktop-Version von Excel. In Excel Online kannst du keine VBA-Makros ausführen.