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

Forumthread: Zeile in anderes Tabellenblatt kopieren, WENN

Zeile in anderes Tabellenblatt kopieren, WENN
10.10.2016 15:51:11
Alfred
Hallo!
Ich möchte gern wissen, wie ich es anstelle, dass eine oder mehrere komplette Zeilen aus Tabellenblatt 2 in Tabellenblatt 1 kopiert und dort als letzte neue Zeile angehängt werden. Aber nur wenn in der Spalte Wert auch wirklich ein Wert eingetragen wurde, sonst nicht.
https://www.herber.de/bbs/user/108702.xlsx
Dankeschön!
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile in anderes Tabellenblatt kopieren, WENN
10.10.2016 16:24:52
UweD
Hallo
so z.B.
 Sub TT()
    On Error GoTo Fehler
    Dim TB1, TB2, LR1&, LR2&, Ze%
    
    Set TB1 = Sheets("Tabelle1")
    Set TB2 = Sheets("Tabelle2")
    Ze = 3 'ab Zeile 
    LR1 = TB1.Cells(TB1.Rows.Count, "A").End(xlUp).Row + 1
    LR2 = TB2.Cells(TB2.Rows.Count, "A").End(xlUp).Row
    If TB2.AutoFilterMode Then TB2.AutoFilterMode = False ' Autofilter ausschalten 
    TB2.Columns(4).AutoFilter
    TB2.Columns(4).AutoFilter Field:=1, Criteria1:="<>"
    TB2.Rows(Ze & ":" & LR2).Copy TB1.Rows(LR1)
    LR1 = TB1.Cells(TB1.Rows.Count, "A").End(xlUp).Row + 1
    TB1.Cells(LR1, 4).FormulaR1C1 = "=SUM(R3C:R[-1]C)"
    Err.Clear
    On Error GoTo Fehler
Fehler:
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
    End Sub

LG UweD
Anzeige
AW: Zeile in anderes Tabellenblatt kopieren, WENN
10.10.2016 16:33:40
Alfred
Danke! Ist das VBA? Ist mir etwas zu hoch, wüsste nicht mal was ich damit machen soll. Gehts auch einfacher? Mir ist nichtmal wichtig, dass die Zeilen genau an die Tabelle 1 anschließen, von mir aus kann da auch viel Platz dazwischen sein und die Zeilen folgen irgendwann und es entstehen Lücken. Solange alles untereinander steht und ich somit eine Summe bilden kann ist mir das recht.
Anzeige
AW: Zeile in anderes Tabellenblatt kopieren, WENN
11.10.2016 08:38:48
UweD
Hallo
Tipp: Wenn Fragen unzureichend beantwortet sind und das Problem weiter besteht, solltest du bei Antworten den entsprechenden Haken setzen, damit die Frage als "offen" gekennzeichnet ist.
Zum Thema selbst...
Ja, das ist VBA, aber kein Hexenwerk.
- ALT +F11 öffnest du den VB Editor
- einfügen, Modul
- rechts dann den Code dort reinkopieren
- Über ALT+F8 kannst du das makro starten.
Gehts auch einfacher?
Du kannst die programmierten Schritte auch von Hand ausführen.
- Tabelle2 Filter setzen in Spalte D
- Filteren ohne Leerzellen
- Die Zeilen kopieren Strg+C
- Auf Tabelle1 oberhalb der Summe einfügen
- Formel anpassen.
LG UweD
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

Zeilen in ein anderes Tabellenblatt kopieren: So geht's


Schritt-für-Schritt-Anleitung

Um bestimmte Zeilen in ein anderes Tabellenblatt zu kopieren, wenn eine Bedingung erfüllt ist, kannst du entweder VBA verwenden oder manuell arbeiten. Hier ist eine einfache Methode mit VBA:

  1. Öffne den VBA-Editor: Drücke ALT + F11.
  2. Modul einfügen: Klicke auf "Einfügen" und wähle "Modul".
  3. Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub ZeilenKopieren()
        Dim TB1 As Worksheet, TB2 As Worksheet
        Dim LR1 As Long, LR2 As Long
        Dim Ze As Long
    
        Set TB1 = Sheets("Tabelle1")
        Set TB2 = Sheets("Tabelle2")
        Ze = 3 ' Beginne ab Zeile 3
        LR1 = TB1.Cells(TB1.Rows.Count, "A").End(xlUp).Row + 1
        LR2 = TB2.Cells(TB2.Rows.Count, "A").End(xlUp).Row
    
        TB2.Columns(4).AutoFilter Field:=1, Criteria1:="<>"
        TB2.Rows(Ze & ":" & LR2).Copy TB1.Rows(LR1)
    
        TB1.Cells(LR1, 4).FormulaR1C1 = "=SUM(R3C:R[-1]C)"
    End Sub
  4. Makro ausführen: Drücke ALT + F8, wähle das Makro aus und klicke auf "Ausführen".

Mit diesem VBA-Skript kannst du bestimmte Zeilen in ein anderes Tabellenblatt kopieren, wenn in der festgelegten Spalte ein Wert eingetragen ist.


Häufige Fehler und Lösungen

  • Fehler beim Ausführen des Makros: Stelle sicher, dass die Tabellennamen ("Tabelle1" und "Tabelle2") korrekt sind.
  • Leerzeilen werden kopiert: Überprüfe, ob der Filter richtig gesetzt ist. Es sollten nur die Zeilen kopiert werden, die einen Wert in der angegebenen Spalte haben.
  • Makro wird nicht angezeigt: Überprüfe, ob die Makros in deinen Excel-Einstellungen aktiviert sind.

Alternative Methoden

Falls du VBA nicht verwenden möchtest, kannst du auch die folgenden Schritte manuell durchführen, um bestimmte Zeilen in ein neues Blatt zu kopieren:

  1. Filter setzen: Gehe zu Tabelle2, aktiviere die Filteroption für die Spalte, die du überprüfen möchtest.
  2. Filter anwenden: Filtere die Spalte, sodass nur die Zeilen mit Werten sichtbar sind.
  3. Kopieren: Markiere die gefilterten Zeilen, drücke Strg + C.
  4. Einfügen: Wechsle zu Tabelle1 und füge die kopierten Zeilen mit Strg + V ein.

Diese Methode ermöglicht es dir, bestimmte Zeilen in ein neues Blatt zu übertragen, ohne Programmierkenntnisse.


Praktische Beispiele

  1. Beispiel 1: Du hast in Tabelle2 einige Verkaufszahlen in Spalte D. Du möchtest alle Zeilen, in denen ein Wert steht, in Tabelle1 kopieren. Setze den Filter auf Spalte D und kopiere die sichtbaren Zeilen.
  2. Beispiel 2: Mit dem oben genannten VBA-Skript kannst du auch mehrere Spalten filtern und die entsprechenden Zeilen in ein anderes Blatt übertragen.

Tipps für Profis

  • Automatisierung: Überlege, die VBA-Methode zu automatisieren, indem du die Funktion an einen Button in deinem Arbeitsblatt bindest.
  • Datenvalidierung: Implementiere eine Datenvalidierung in Tabelle1, um sicherzustellen, dass nur gültige Daten eingegeben werden.
  • Verwendung von Named Ranges: Nutze benannte Bereiche in Excel, um deine Formeln und VBA-Referenzen zu vereinfachen.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Zeilen gleichzeitig kopieren?
Mit dem VBA-Skript kannst du mehrere Zeilen in einem Rutsch kopieren, indem du die Filterfunktion nutzt.

2. Kann ich diese Methode auch für ganze Spalten verwenden?
Ja, du kannst die gesamte Spalte in ein anderes Tabellenblatt übernehmen, indem du die entsprechenden Zeilen im Skript anpasst.

3. Ist es möglich, die kopierten Daten zu formatieren?
Ja, du kannst im VBA-Skript nach dem Kopieren weitere Formatierungen hinzufügen, z.B. Schriftart oder Hintergrundfarbe ändern.

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