Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Code zum Zellen Kopieren in andere Tabelle

VBA Code zum Zellen Kopieren in andere Tabelle
16.09.2014 09:26:06
marco
Ich habe eine Tabelle die geht von Zelle 2 bis 1000. Die Tabelle heißt : "Terminblatt".
Also was ich tun möchte ist folgendes:
Wenn in Tabelle "Terminblatt" in Spalte "L" "Terminieren oder Nachfragen" steht, dann soll folgende Zellen in dieser Zeile kopiert werden: A E F G H L M.
Die Kopie soll in Tabelle "Zu Erledigen" in Zeile ( ab 3 fortlaufend) Kopiert werden und zwar in Spalte A B C D E F G.
So nun ich hoffe ich habe das verständlich aufgeschrieben.
Danke im voraus

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code zum Zellen Kopieren in andere Tabelle
16.09.2014 09:35:08
Sascha

'Zelle
Sheets("maske").Range("B2:B2").Copy Sheets("Datenbank").Cells(i, 3)
'Nur Werte
Sheets("Datenbank").Cells(i, 4).Value = Sheets("maske").Range("B9").Value
Hier ein paar Beispiele die wohl recht nah an dem sind was Du brauchst.
Einmal wird die Zelle kopiert und das andere mal nur der Zahlenwert ( bei Formeln )
Dieses IF/Else kann ich nicht
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

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".

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject" > Einfügen > Modul.
  3. 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
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Drücke ALT + F8, wähle KopiereZellen aus und klicke auf "Ausführen".

Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs"

    • Lösung: Stelle sicher, dass die Tabellen "Terminblatt" und "Zu Erledigen" exakt so benannt sind. Achte auf Leerzeichen und Groß-/Kleinschreibung.
  • Fehler: Kopierte Werte erscheinen nicht in der Ziel-Tabelle

    • Lösung: Überprüfe, ob die Spalte L in "Terminblatt" tatsächlich die gewünschten Werte ("Terminieren" oder "Nachfragen") enthält.

Alternative Methoden

Wenn du keinen VBA-Code verwenden möchtest, könntest du auch die Filterfunktion in Excel nutzen:

  1. Wähle die Tabelle "Terminblatt" aus.
  2. Aktiviere den Filter über Daten > Filter.
  3. Filtere die Spalte L nach "Terminieren" oder "Nachfragen".
  4. 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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige