VBA Code zum Zellen Kopieren in andere Tabelle
Schritt-für-Schritt-Anleitung
Um Zellen basierend auf bestimmten Kriterien von einer Tabelle in eine andere zu kopieren, kannst du folgenden VBA-Code verwenden. Dieser Code sucht nach den Werten "Terminieren" oder "Nachfragen" in der Spalte L des "Terminblatt" und kopiert die entsprechenden Daten in die Tabelle "Zu Erledigen".
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject" > Einfügen > Modul.
- Kopiere und füge den folgenden Code in das Modul ein:
Sub KopiereZellen()
Dim wsQuelle As Worksheet
Dim wsZiel As Worksheet
Dim i As Long, j As Long
Set wsQuelle = ThisWorkbook.Sheets("Terminblatt")
Set wsZiel = ThisWorkbook.Sheets("Zu Erledigen")
j = 3 ' Startzeile in der Ziel-Tabelle
For i = 2 To 1000
If wsQuelle.Cells(i, 12).Value = "Terminieren" Or wsQuelle.Cells(i, 12).Value = "Nachfragen" Then
wsZiel.Cells(j, 1).Value = wsQuelle.Cells(i, 1).Value ' A
wsZiel.Cells(j, 2).Value = wsQuelle.Cells(i, 5).Value ' E
wsZiel.Cells(j, 3).Value = wsQuelle.Cells(i, 6).Value ' F
wsZiel.Cells(j, 4).Value = wsQuelle.Cells(i, 7).Value ' G
wsZiel.Cells(j, 5).Value = wsQuelle.Cells(i, 8).Value ' H
wsZiel.Cells(j, 6).Value = wsQuelle.Cells(i, 12).Value ' L
wsZiel.Cells(j, 7).Value = wsQuelle.Cells(i, 13).Value ' M
j = j + 1
End If
Next i
End Sub
- Schließe den VBA-Editor und gehe zurück zu Excel.
- Drücke
ALT + F8
, wähle KopiereZellen
aus und klicke auf "Ausführen".
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du keinen VBA-Code verwenden möchtest, könntest du auch die Filterfunktion in Excel nutzen:
- Wähle die Tabelle "Terminblatt" aus.
- Aktiviere den Filter über
Daten > Filter
.
- Filtere die Spalte L nach "Terminieren" oder "Nachfragen".
- Kopiere die gefilterten Zeilen manuell in die Tabelle "Zu Erledigen".
Praktische Beispiele
Angenommen, deine Tabelle "Terminblatt" sieht so aus:
A |
E |
F |
G |
H |
L |
M |
Projekt |
Datum |
Status |
Verantwortlicher |
Notizen |
Anmerkungen |
Weitere Details |
--------- |
--------- |
--------- |
--------- |
--------- |
--------------- |
--------- |
Projekt 1 |
01.01.2023 |
Offen |
Max Mustermann |
N/A |
Terminieren |
Details 1 |
Projekt 2 |
02.01.2023 |
Offen |
Maria Musterfrau |
N/A |
Nachfragen |
Details 2 |
Nach dem Ausführen des Codes wird die Tabelle "Zu Erledigen" so aussehen:
A |
B |
C |
D |
E |
F |
G |
Projekt |
Datum |
Status |
Verantwortlicher |
Notizen |
Anmerkungen |
Weitere Details |
Projekt 1 |
01.01.2023 |
Offen |
Max Mustermann |
N/A |
Terminieren |
Details 1 |
Projekt 2 |
02.01.2023 |
Offen |
Maria Musterfrau |
N/A |
Nachfragen |
Details 2 |
Tipps für Profis
- Du kannst den Code erweitern, um weitere Bedingungen hinzuzufügen oder andere Spalten zu kopieren.
- Nutze
Option Explicit
am Anfang deines Moduls, um die Variablen zu deklarieren. Dies hilft, Fehler frühzeitig zu erkennen.
FAQ: Häufige Fragen
1. Frage
Kann ich den Code anpassen, um auch andere Werte zu kopieren?
Antwort: Ja, du kannst die Bedingung im If
-Statement ändern und weitere Spalten hinzufügen, die kopiert werden sollen.
2. Frage
Funktioniert dieser Code in jeder Excel-Version?
Antwort: Ja, dieser Code sollte in allen modernen Excel-Versionen funktionieren, die VBA unterstützen.