Office: Bestimmte Zeilen in anderes Tabellenblatt kopieren

Helfe beim Thema Bestimmte Zeilen in anderes Tabellenblatt kopieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Liebe VBA-Profis Ich habe mal wieder eine etwas knifflige Aufgabe zu lösen und schaffe das nicht ohne Hilfe. Ich habe zwei Tabellenblätter:... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von MKV9, 10. November 2019.

  1. Bestimmte Zeilen in anderes Tabellenblatt kopieren


    Liebe VBA-Profis

    Ich habe mal wieder eine etwas knifflige Aufgabe zu lösen und schaffe das nicht ohne Hilfe.

    Ich habe zwei Tabellenblätter: "Basis-Daten" und "Auswahl". Gerne möchte ich nun mittels Makro alle Zeilen aus "Basis-Daten" nach "Auswahl" kopieren, welche denselben Wert der Zelle G14 (Auswahl) in Spalte A (Basis-Daten) aufweisen. Die kopierten Zeilen wären ab Zeile 2000 im Tabellenblatt "Auswahl" einzufügen.

    Ganz herzlichen Dank für eure Hilfe.

    Viele Grüsse, Matthias

    :)
     
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    Hallo Matthias,

    benutze Autofilter und kopiere den sichtbarren Bereich.
    Bearbeiten, Suche.., Gehe zu.
    Excel hat auch einen Makrorecorder.
    Bitte berücksichtige das Themen die Erledigt sind als Erledigt markiert werden können. Also mache es unten links mit Klick auf den Schalter "als erledigt setzen", falls Problem gelöst.
    Der Zustand des Beitrages wird dann in der Übersicht angezeigt und man braucht sich diese Beiträge nicht mehr ansehen.





    Meine Homepage Homeseite - Hajo's Excelseiten
     
  3. Guten Abend Hajo

    Vielen Dank für deinen Tipp. Da die Zelle G14 ständig wechselt, würde ich eine Lösung ohne Autofilter bevorzugen. Für weitere Ideen bin ich daher sehr dankbar.

    Herzlichen Dank und beste Grüsse, Matthias
     
  4. Hajo_Zi
    Hajo_Zi Erfahrener User

    Bestimmte Zeilen in anderes Tabellenblatt kopieren

    Gut dann bist Du gefragt, da Du nur die zelle kennst wo der Wert steht.
    Ich bin dann raus.
     
  5. Hi, dazu ein paar Rückfrage:
    auf welchem Blatt befindet sich G14? Basis-Daten oder Auswahl?
    sollen die vorhandenen Werte ab Zeile 2000 vorher gelöscht werden, oder soll ggf. hintenan gefügt werden?

    Am besten wäre es, wenn Du eine Beispielmappe hochladen würdest.
     
  6. Guten Abend Regina

    Vielen Dank vorweg für deine Hilfe.

    Die Zelle G14 befindet sich auf dem Tabellenblatt "Auswahl". Die vorhandenen Werte sollten nach Möglichkeit gelöscht werden.

    Beste Grüsse, Matthias
     
  7. Hi,
    da Du keine Beispielmappe an den Start gebrahct hast, hier ein ungetester Code:

    Code:
    Sollte das so nicht passen, lade bitte eine Mappe zum Testen hoch.
     
  8. Bestimmte Zeilen in anderes Tabellenblatt kopieren

    Guten Morgen Regina

    Super - funktioniert einwandfrei! Ganz, ganz herzlichen Dank und beste Grüsse, Matthias
     
  9. HansRenner Neuer User
    Hallo Regina,
    ich bin ganz neu hier im Forum und bin froh, diesen Beitrag gefunden zu haben. Das Makro bildet genau das ab, was ich benötige. Allerdings - und spätestens jetzt wird klar, dass ich ein Amateur bin - weiß ich nicht, wie ich die Suche auf eine andere Spalte beziehen kann.

    Du schreibst im Quellcode oben: Do Until .Cells(lng_zeile, 1) = "" ' Quellblatt ab Zeile 2 bis zur ersten leeren Zelle in durchlaufen. Ich möchte aber, dass statt in Spalte A in Spalte G nach der Übereinstimmung gesucht wird.

    Kannst Du bzw. kann mir ein anderer Leser helfen?

    Vielen Dank schon an dieser Stelle.

    Grüße aus der Kurpfalz

    Hans
     
    HansRenner, 21. Dezember 2021
    #9
  10. Wolff68
    Wolff68 hat Ahnung
    Werden Zellen mit Cells angesprochen steht als erster Parameter die Zeile und an zweiter die Spalte.
    Im Beispielcode Cells(lng_zeile,1) steht also lng_zeile für die veränderliche Zeile und 1 für die feste Spalte A.
    Für Spalte G ist dann also die 1 durch 7 zu ersetzen.
     
  11. HansRenner Neuer User
    Vielen Dank für Ihre Antwort. Jetzt habe ich es verstanden.

    Vielleicht können Sie mir auch dabei helfen: Ist es möglich, dass ich mit vorgenanntem Makro auch realisieren kann, dass nur bestimmte Spalten kopiert werden? Also es soll zunächst geprüft werden, ob z.B. in Spalte C (also 3) ein bestimmtes Suchkriterium erfüllt ist. Ist das der Fall, dann sollen die Spalten A, B, C, F und L in ein neues Arbeitsblatt kopiert werden. Bisher werden immer alle Spalten kopiert.

    Beste Grüße
    Hans
     
    HansRenner, 26. Dezember 2021
    #11
  12. Wolff68
    Wolff68 hat Ahnung
    Im Originalpost von 2019 wurden die ZEILEN durchsucht und bei Übereinstimmung die ZEILE in ein anderes Blatt kopiert.
    Nun willst Du bei einem Treffer die Spalten A, B, C, F und L kopieren...
    Sorry, ich hab glaub noch noch nicht ganz verstanden was Du eigentlich vor hast! Ist es so:?
    1.) Du möchtest prüfen, ob irgendwo in Spalte C ein bestimmtes Suchkriterium vorkommt? Wo gibst Du das Suchkriterium vor?
    > Habe mal Zelle "D1" genommen.
    2.) Egal wo in Spalte C das Suchkriterium gefunden wurde, möchtest Du all die Spalten in ein anderes Blatt kopieren?
    > Gehe ich jetzt mal von aus.
    3.) Sollen die Spalten so bleiben, oder direkt hintereinander eingefügt werden?
    > Habe mal die Variante alles hintereinander genommen, weil einfacher.
    Hier ein Code. Der Button ist hier auf dem Blatt mit den Ausgangswerten. Die Zieltabelle ist bei mir "Tabelle2"
    Code:
    Private Sub CommandButton1_Click()
    
    Dim found As Range
    Set found = Range("C:C").Find(Range("D1"), LookIn:=xlValues) 'Sucht den Inhalt von Zelle D1 in Spalte C
    If Not found Is Nothing Then 'wenn gefunden ist found nicht "nothing"
     Range("A:A,B:B,C:C,F:F,L:L").Copy
     Sheets("Tabelle2").Paste
     Application.CutCopyMode = False
    Else
     MsgBox Range("D1") & " nicht gefunden."
    End If
    
    End Sub
     
  13. HansRenner Neuer User

    Bestimmte Zeilen in anderes Tabellenblatt kopieren

    Hallo Wolff,

    vielen Dank für Deine Antwort und den Code. Das passt so aber leider nicht.

    Die Situation ist wie folgt:
    1. In einem Worksheet (Gesamtübersicht) habe ich zahlreiche Spalten, in denen alle relevanten Daten erfasst sind.
    2. In einem anderen Worksheet (Modulprüfungen) habe ich oben ein Feld, in dem ich ein Suchkriterium eingeben kann.
    3. Gebe ich das Suchkriterium ein, wird die Suche in einer bestimmen Spalte durchgeführt und aktuell werden alle Zeilen, die dieses Suchkriterium in der jeweiligen Spalten enthalten, in das Worksheet (Modulprüfungen) kopiert.
    Ich hätte nur aber gerne, dass von den Treffern nicht alle Spalten in das Worksheet (Modulprüfungen) kopiert werden, sondern beispielsweise nur die Spalte A (Name), B (Vorname), F (Matrikel), H (Modul).

    Ich hoffe, ich konnte mich verständlich ausdrücken.

    Nochmals viele Dank und beste Grüße

    Hans
     
    HansRenner, 29. Dezember 2021
    #13
  14. Wolff68
    Wolff68 hat Ahnung
    Eben deshalb sind Beispielmappen wirklich nützlich.
    Um zu helfen muss eben erst das Problem verstanden werden.

    Habe den Code angepasst, den With-Block zur besseren Übersicht entfernt und die Zähler zum besseren Verständnis umbenannt:
    Code:
    Public Sub Uebertrag()
     Dim wks_Quelle As Worksheet
     Dim row_Quelle As Long
     Dim wks_Ziel As Worksheet
     Dim row_Ziel As Long
    
     Set wks_Quelle = Worksheets("Gesamtübersicht") ' Hier Quelltabellenblatt benennen
     Set wks_Ziel = Worksheets("Modulprüfungen") ' Hier Zieltabellenblatt benennen
    
     wks_Ziel.Rows("4:1048576").ClearContents 'Löscht in Blatt Modulprüfungen alles unterhalb Zeile 4
     row_Ziel = 4 ' Startzeile im Zielblatt ggf. anpassen
     row_Quelle = 2 ' Startzeile im Quellblatt ggf. anpassen
    
     Do Until wks_Quelle.Cells(row_Quelle, 7) = "" ' Quellblatt ab Startzeile bis zur ersten leeren Zelle in G durchlaufen
      If wks_Quelle.Cells(row_Quelle, 7) = wks_Ziel.Range("B1") Then ' Treffer
        ' Hier alles schreiben was bei einem Treffer zu tun ist
        wks_Ziel.Cells(row_Ziel, 3) = wks_Quelle.Cells(row_Quelle, 1) 'Name    von Quelle Spalte A in Ziel Spalte C übertragen
        wks_Ziel.Cells(row_Ziel, 4) = wks_Quelle.Cells(row_Quelle, 2) 'Vorname von Quelle Spalte B in Ziel Spalte D übertragen
        wks_Ziel.Cells(row_Ziel, 5) = wks_Quelle.Cells(row_Quelle, 6) 'Artikel von Quelle Spalte F in Ziel Spalte E übertragen
        wks_Ziel.Cells(row_Ziel, 6) = wks_Quelle.Cells(row_Quelle, 8) 'Modul   von Quelle Spalte H in Ziel Spalte F übertragen
        'ggf weitere
        row_Ziel = row_Ziel + 1 'Innerhalb des IF-Blocks die Zielzeile weiter schalten
       End If
      row_Quelle = row_Quelle + 1 'Vor dem Loop die Zeile der Quelle ein weiter schalten
     Loop
     
    End Sub
    Im aktuellen Excel würde das auch mit der neuen Funktion =FILTER funktionieren. Dann hättest aber wieder alle Spalten, die man aber auch ausblenden könnte. (Siehe Blatt "Filter")

    Falls der Suchbegriff nur einmal vorkommt oder der erste Treffer reicht, geht das übrigens auch ohne Makro. (Siehe Blatt "Direkt")
     
Thema:

Bestimmte Zeilen in anderes Tabellenblatt kopieren

Die Seite wird geladen...
  1. Bestimmte Zeilen in anderes Tabellenblatt kopieren - Similar Threads - Bestimmte Zeilen Tabellenblatt

  2. Zeilen bei bestimmten Kriterien löschen

    in Microsoft Excel Hilfe
    Zeilen bei bestimmten Kriterien löschen: Moin, ich muss ab heute jeden Monat eine Auswertung über Projekte erstellen, dabei teile ich mir diese Aufgabe mit einem Kollegen, wo er die gerade und ich die ungerade übernehme. Besteht die...
  3. Zeilen aufgrund von bestimmten Informationen in anderes Tabellenblatt kopieren

    in Microsoft Excel Hilfe
    Zeilen aufgrund von bestimmten Informationen in anderes Tabellenblatt kopieren: Hallo zusammen, ich bin erst vor ein paar Tagen auf die Excel VBA gestoßen und kenne mich deswegen leider so gut wie gar nicht aus. Ich würde gerne aus den Tabellen 3 - 11, bestimmte Zeilen in die...
  4. Zeilen mit bestimmten Inhalt in anderes Tabellenblatt kopieren

    in Microsoft Excel Hilfe
    Zeilen mit bestimmten Inhalt in anderes Tabellenblatt kopieren: Guten Morgen, ich bräuchte eure Hilfe. Ich habe eine Tabelle in der Anfragen und Buchungen von Terminen eingetragen werden. Wenn ein Termin nur angefragt wurde, wird nur die Zelle "Anfragedatum"...
  5. Zeilen aus Tabelle mit bestimmten Wert in verschiedene Tabellenblätter sortieren

    in Microsoft Excel Hilfe
    Zeilen aus Tabelle mit bestimmten Wert in verschiedene Tabellenblätter sortieren: Hallo, ich bekomme es einfach nicht hin und benötige bitte eure Hilfe. Ich habe eine Tabelle, in dieser sind alle Daten enthalten. Nun möchte ich aus dieser Tabelle Zeilen, die in der Spalte H...
  6. Bestimmte Zeilen in ein anderes Tabellenblatt automatisch kopieren

    in Microsoft Excel Hilfe
    Bestimmte Zeilen in ein anderes Tabellenblatt automatisch kopieren: Hallo. Kann mir jemand sagen, wie man Zeilen, die durch ein kreuz markiert sind, in ein anderes Tabellenblatt mit Hilfe eines Makros kopiert bekommt? Danke schonmal im voraus. 185375
  7. Bestimmte Zeilen Ausschneiden und in anderes Tabellenblatt einfügen

    in Microsoft Excel Hilfe
    Bestimmte Zeilen Ausschneiden und in anderes Tabellenblatt einfügen: Hallo, ich habe folgendes Problem: Mein Makro soll alle (kompletten) Zeilen von Tabelle 1 in Tabelle 2 verschieben, bei denen in der Spalte 1 der Wert größer als 4999 ist. Habe mir ein Makro...
  8. Ausgabe bestimmter Zeilen in neues Tabellenblatt

    in Microsoft Excel Hilfe
    Ausgabe bestimmter Zeilen in neues Tabellenblatt: Hallo zusammen, ich benötige eine Abfrage, um bestimmte Zeilen aus einer "Gesamttabelle" herauszufiltern und in ein neues Tabellenblatt einzufügen. Und zwar geht es darum, das der...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden