Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Ganze Zeile auf anderes Tabellenblatt übertragen

Ganze Zeile auf anderes Tabellenblatt übertragen
02.01.2018 16:32:47
Rafael
Hallo zusammen,
Es geht um ein Adress- bzw. Kontaktverzeichnis. Ich möchte auf einem Tabellenblatt alle Datensätze haben.
Sagen wir A=Vorname B= Familienname und C=Firma. Dann würde ich D=Gruppe1 E= Gruppe2 F= Gruppe 3 und so weiter bis ich 15 Grupenfelder habe. (R wäre dann Gruppe 15)
Diese Daten möchte ich so aufteilen, dass wenn ich eine Zelle mit "Ja" befülle, dass automatisch die ganze Zeile auf ein anderes Tabellenblatt kopiert wird.
Jede Gruppe soll ein Tabellenblatt darstellen/befüllen.
Hierfür habe ich schon einen fertigen VBA Code gefunden. Allerdings bezieht sich der nur auf eine Gruppe.
Kann mir jemand helfen den Code umzuschreiben, sodass er alle Spalten D-R durchsucht und dann jeweils auf das ausgewählte Tabellenblatt kopiert.
https://www.extendoffice.com/documents/excel/3723-excel-move-row-to-another-sheet-based-on-cell-value.html
Vielen Dank im Voraus ! LG,Rafael
P.S. Bin auch gerne für Tipps bzw. Tutorials offen wie man so ein Adressverzeichnis schön gestalten kann.
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ganze Zeile auf anderes Tabellenblatt übertragen
03.01.2018 00:51:05
Sepp
Hallo Rafael,
mach nur eine Liste mit allen Daten.
Das ist viel einfacher zu pflegen. Du brauchst auch nicht 15 Gruppenspalten, sondern nur eine in der du den entsprechenden Gruppennamen einträgst.
Ausgabe dann evtl. auf einem separaten Tabellenblatt mit Such- bzw. Filter-Funktion.
Gruß Sepp

Anzeige
AW: Ganze Zeile auf anderes Tabellenblatt übertragen
03.01.2018 10:42:25
Rafael
Hallo Sepp,
vielen Dank für deinen Input. Wie gehe ich dann damit um, wenn eine Person in mehreren Gruppen ist? Könnten bis zu 10 sein.
Ausgabe auf einem seperaten Tabellenblatt klingt gut. Könntest du mir bitte sagen, oder verlinken, wie das funktioniert?
Gruß,Rafael
AW: Ganze Zeile auf anderes Tabellenblatt übertragen
03.01.2018 10:44:15
Sepp
Hallo Rafael,
erstelle mal eine Beispieltabelle, wie du dir die Adressliste vorstellst, dann schau ich mal drüber.
Gruß Sepp

Anzeige
AW: Ganze Zeile auf anderes Tabellenblatt übertragen
03.01.2018 10:45:43
Rafael
Super, danke sehr !
AW: Ganze Zeile auf anderes Tabellenblatt übertragen
03.01.2018 17:33:38
Sepp
Hallo Rafael,
hier mal ein Beispiel, wie man das mit nur zwei Tabellen löst.
Die Adressen werden ausschließlich in der Tabelle 'Adressliste' eingegeben und gepflegt.
Die Tabelle erweitert sich automatisch, sobald ein neuer Name eingegeben wird.
Die Gruppen kannst du per Doppelklick auswählen.
In der Tabelle 'Suche' kannst du dann ebenfalls per Doppelklick auswählen, welche Gruppe(n) angezeigt werden soll(en). Über die Suchfelder kannst du dann noch nach Vor-, Nach- und Firmen-Name filtern.
https://www.herber.de/bbs/user/118657.xlsm
Gruß Sepp

Anzeige
AW: Ganze Zeile auf anderes Tabellenblatt übertragen
03.01.2018 17:50:46
Rafael
Das ist perfekt! Herzlichen Dank!
Lieben Gruß,
Rafael
AW: Ganze Zeile auf anderes Tabellenblatt übertragen
04.01.2018 16:36:48
Rafael
Hallo Sepp, ich bin echt beeindruckt. Das ist genau das was ich gesucht habe!
Leider habe ich zu wenig - ehrlich gesagt, keine - Ahnung von VBA.
Könntest du mir bitte noch erklären wie ich hinkünftig weitere Gruppen hinzufügen kann und dementsprechend die Maske der Suche umändere?
Viele Grüße,
Rafael
Anzeige
AW: Ganze Zeile auf anderes Tabellenblatt übertragen
04.01.2018 16:44:00
Sepp
Hallo Rafael,
Noch mehr Gruppen?
Na ja, dazu muss man dann schon einiges am ganzen Code und in der Tabelle ändern, dir das hier anzusagen ist schier unmöglich.
Gruß Sepp

Anzeige
AW: Ganze Zeile auf anderes Tabellenblatt übertragen
04.01.2018 18:22:40
Rafael
Hi,
ja das wäre ideal. Ich finde diesen Ansatz für das Verzeichnis genau richtig. Deswegen wäre es toll wenn es mitwachsen kann.
Verstehe aber das es aufwendig ist. Ich werde mal versuchen in den Code reinzuschauen und die Tabellen, eventuell kann ich manches mit Logik herleiten und rumspielen.
Auf jeden Fall vielen Dank!
Gruß,Rafael
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Ganze Zeile auf anderes Tabellenblatt übertragen


Schritt-für-Schritt-Anleitung

Um eine ganze Zeile auf ein anderes Tabellenblatt zu übertragen, kannst Du die folgende Methode nutzen. Diese Anleitung setzt voraus, dass Du mit Excel 2016 oder höher arbeitest.

  1. Daten vorbereiten: Stelle sicher, dass Deine Daten in einem Tabellenblatt strukturiert sind, z.B. in Spalten A bis R (wie in der Anfrage von Rafael).

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Modul hinzufügen: Klicke mit der rechten Maustaste auf „VBAProject (DeineArbeitsmappe)“ > Einfügen > Modul.

  4. VBA-Code eingeben: Füge den folgenden Code in das Modul ein:

    Sub ZeileKopieren()
       Dim wsQuell As Worksheet
       Dim wsZiel As Worksheet
       Dim letzteZeile As Long
       Dim i As Long
    
       Set wsQuell = ThisWorkbook.Sheets("Adressliste") ' Quellblatt
       Set wsZiel = ThisWorkbook.Sheets("Zielblatt") ' Zielblatt
    
       letzteZeile = wsQuell.Cells(wsQuell.Rows.Count, 1).End(xlUp).Row
    
       For i = 1 To letzteZeile
           If wsQuell.Cells(i, 4).Value = "Ja" Then ' Prüfen, ob in Spalte D "Ja" steht
               wsQuell.Rows(i).Copy Destination:=wsZiel.Rows(wsZiel.Cells(wsZiel.Rows.Count, 1).End(xlUp).Row + 1)
           End If
       Next i
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor. Gehe zurück zu Excel, drücke ALT + F8, wähle „ZeileKopieren“ und klicke auf „Ausführen“.

Diese Methode ermöglicht es Dir, eine ganze Zeile auf ein anderes Tabellenblatt zu übertragen, wenn in einer bestimmten Zelle (z.B. D) der Wert "Ja" steht.


Häufige Fehler und Lösungen

  • Fehler: „Das angegebene Blatt existiert nicht“

    • Lösung: Überprüfe die Blattnamen in Deinem Code und stelle sicher, dass sie mit den tatsächlichen Blattnamen übereinstimmen.
  • Fehler: „Typen unverträglich“

    • Lösung: Stelle sicher, dass die Zelle, die Du überprüfst, tatsächlich den erwarteten Wert (z.B. „Ja“) enthält und keine weiteren Leerzeichen oder Formatierungen hat.

Alternative Methoden

Wenn Du keine VBA-Programmierung nutzen möchtest, kannst Du auch die „Filter“-Funktion in Excel verwenden:

  1. Setze einen Filter auf Deine Daten.
  2. Filtere nach der Spalte, die „Ja“ enthält.
  3. Kopiere die gefilterten Zeilen und füge sie in das gewünschte Zielblatt ein.

Diese Methode ist zwar nicht automatisiert, kann aber einfach durchgeführt werden.


Praktische Beispiele

  • Beispiel 1: Wenn Du in Deiner Adressliste eine Zeile mit den Daten „Max Mustermann“, „Firma XY“, „Ja“ in der Gruppen-Spalte hast, wird diese Zeile automatisch auf das Zielblatt kopiert, sobald Du das Makro ausführst.

  • Beispiel 2: Um mehrere Gruppen zu verwalten, kannst Du den Code so anpassen, dass er alle relevanten Spalten (D bis R) überprüft und die Zeile auf das entsprechende Zielblatt überträgt.


Tipps für Profis

  • Automatisierung: Du kannst das Makro so einstellen, dass es bei Änderungen in der Quell-Tabelle automatisch ausgeführt wird.
  • Datenüberprüfung: Nutze die Datenüberprüfungsfunktion in Excel, um sicherzustellen, dass nur gültige Werte (z.B. „Ja“ oder „Nein“) in den Gruppen-Spalten eingegeben werden.

FAQ: Häufige Fragen

1. Wie kann ich eine ganze Spalte in ein anderes Tabellenblatt übernehmen? Du kannst ähnliche VBA-Techniken verwenden, um eine ganze Spalte zu kopieren, indem Du wsQuell.Columns("A").Copy Destination:=wsZiel.Columns("A") im Code verwendest.

2. Kann ich die Zeile in ein neues Blatt übertragen? Ja, Du kannst ein neues Blatt erstellen und die Zeile dorthin kopieren, indem Du im Code Set wsZiel = ThisWorkbook.Worksheets.Add verwendest.

3. Wie verlinke ich eine Zelle auf ein anderes Tabellenblatt? Verwende die Formel =Blattname!A1, um eine Zelle in einem anderen Blatt zu verlinken.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige