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

Forumthread: Kopieren von bestimmten Zeilen in neues Blatt

Kopieren von bestimmten Zeilen in neues Blatt
bestimmten
Hallo Ihr Lieben,
habe ein kleines Excelproblem, das ich nicht mit Archivbeiträgen lösen konnte. Wär nett wenn ihr Exceltüftler mir helfen könntet!
Ich habe in Excel eine Anmeldeliste erstellt, die aus 2 Tabellenblättern besteht (tabelle 1, tabelle 2)
in tabelle 1 sind die Namen in Spalte B gelistet, in spalte D Anzahl der Kinder, E Anzahl Erwachsene, Spalte F Salat, G Nachspesie und H Bemerkung. :)
In Spalte C wird durch Makro durch Doppelklick ein "X" generiert.
Durch generieren dieses "X" sollen nun alle Mitarbeiter markiert werden, die Teilnehmen. Diese Teilnehmer sollen in Tabelle 2 als tatsächliche Teilnehmer kopiert werden.
Es wäre toll, wenn nun alle Zeilen komplett, die in tabelle 1 in Spalte C dieses "X" enthalten, in Tabelle 2 kopiert werden könnten (natürlich wieder alphabetisch)´, am besten mittels makro?
toll wäre, wenn es mir in tabellenblatt 2 keine leerzeilen gäbe und Änderungen, die ich in Tabelle 1 vornehme ( namensänderung, änderung kinder), automatisch auch in 2 auch geändert werden (auch wenn ich in Tabelle 1 das X wieder entferne soll die entsprechende komplette Zeile aus tabelle 2
verschwinden)
Hoffe das war ausführlich genug und schonmal Danke im Voraus,
liebe Grüße, Bea
Anzeige
müsste mit dem Spazialfilter zu lösen sein...
05.03.2010 09:07:23
Tino
Hallo,
wenn Du eine Beispieldatei hättest, kann ich Dir dabei helfen.
Gruß Tino
wieso Makro und nicht einfache Formeln?
05.03.2010 09:19:03
Renee
Hi Bea,
Warum willst du Makros einsetzen?
Das ginge sicher mit einfache Formeln wie z.B. hier erläutert.
GreetZ Renée
AW: wieso Makro und nicht einfache Formeln?
05.03.2010 09:38:18
Bea
hallo renée,
ha, habe erste auch mit verweisen gebastelt, das problem ist aber, dass die ergebnisse auf ein anderes tabellenblatt übertragen werden sollen, und da die liste nich nur von mir benutzt wird, brauch nur mal jemand ne zeile einfügen oder sonstwas und die bezüge stimmen nich mehr..:/
lg, bea
Anzeige
geht trotz Löschen/Einfügen von Zeilen
05.03.2010 10:00:14
Zeilen
Hi Bea,
Solange nur im Datenbereich von Tabelle1 (ab Zeile7) Zeilen eingefügt/gelöscht werden ist das auch mit Bordmitteln (Formeln nicht VBA) kein Problem. Hier ein Beispiel, das ohne VBA auskommt.
Die Hilfsspalte I in Tabelle2 kannst du ja ausblenden!
https://www.herber.de/bbs/user/68398.xls
GreetZ Renée
Anzeige
AW: funktioniert super!!
05.03.2010 10:05:24
Bea
danke tino!!
genau das, was ich gesucht hab!!!
supii!
:) bea
Anzeige
nochmal optimiert.
05.03.2010 10:14:58
Tino
Hallo,
habe den Code nochmals optimiert,
damit der Code nur dort greift wo er greifen soll und nicht z. Bsp. in der Überschrift.
https://www.herber.de/bbs/user/68399.xls
Gruß Tino
AW: Frage an tino
05.03.2010 10:20:34
hary
Moin Tino
hab mal zum ueben auch rumgebstelt. Ginge es nicht auch alles ins Doppelklick Ereigniss, in etwa so?
hier ohne sortieren. vlt nicht schoen mit find.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim zell As Range
Dim zelle As Range
If Intersect(Target, Range("C1:C1220")) Is Nothing Then Exit Sub
If Target.Value = "" Then
Target.Value = "X"
Target.EntireRow.Copy Worksheets("Tabelle2").Range("A" & Worksheets("Tabelle2").Cells(Rows. _
Count, 2).End(xlUp).Row + 1)
Else
Target.Value = ""
With Worksheets("Tabelle2").Range("B1:B100")
Set zelle = .Find(Target.Offset(0, -1).Value, LookIn:=xlValues)
zelle.EntireRow.Delete
End With
End If
End Sub

gruss hary
Anzeige
wenn es geht warum nicht, ...
05.03.2010 10:33:33
Tino
Hallo,
erlaubt ist was funktioniert und was den eigenen Bedürfnissen genügt.
Gruß Tino
AW: nochmal optimiert.
05.03.2010 11:04:45
Bea
aah tino, hab das neue makro übernommen, jetz geht bei mir gar nix mehr..kannst du mal kurz reinschaun ?
https://www.herber.de/bbs/user/68403.xls
lg, bea
Anzeige
AW: noch eine frage..
05.03.2010 10:17:44
Bea
tino, vlt kannst du mir nochmal helfen.
einzigstes manko ist, dass wenn ich ein "X" setze und danach zum Beispiel in Tabelle 1 die Anzahl der Kinder ändere, diese Änderung nicht in Tab 2 übernommen wird..wäre das noch machbar ?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim oSH As Worksheet
If Target.Count = 1 Then
If Target.Column = 3 Then
Application.EnableEvents = False
Set oSH = Tabelle1
oSH.Range("I6").Value = "'" & oSH.Range("C6").Value
oSH.Range("I7").Value = "'=X"
With Tabelle3
oSH.Range("B6", oSH.Cells(oSH.Rows.Count, 3).End(xlUp).Offset(1, 5)). _
AdvancedFilter xlFilterCopy, oSH.Range("I6:I7"), .Range("B6:G6")
.Range("B6:G" & .Rows.Count).Sort Key1:=.Range("B6"), Order1:=xlAscending,  _
Header:=xlYes
End With
oSH.Range("I6:I7").Clear
Application.EnableEvents = True
End If
End If
End Sub

lg, *freu* bea
Anzeige
Alles Problem mit VBA, nicht mit Formeln ;-) owT
05.03.2010 10:22:59
Renee

AW: Alles Problem mit VBA, nicht mit Formeln ;-) owT
05.03.2010 10:24:39
Bea
:) haha, ich weiß renée, aber wie gesagt, da machen viele leute dran rum, die keine ahnung haben, einfach mal formeln aus feldern löschen usw., da is ein makro schon unkomplizierter :)
Excel gut?: Blattschutz ! (owT)
05.03.2010 10:26:27
Renee

Anzeige
AW: danke, perfekt!
05.03.2010 10:39:20
Bea
Tausend Dank für deine Mühe Tino, funktioniert 1a
lg, Bea
Format der Hilfzellen für Spezialfilter...
05.03.2010 10:42:18
Tino
Hallo,
stelle die Zellen I1 und I2 noch auf das Format Benutzerdefiniert ;;; ein und
im Code mach aus Range("I1:I2").Clear diese Zeile Range("I1:I2").ClearContents
Jetzt sieht man das Zucken dieser Zellen nicht mehr.
Gruß Tino
Anzeige
AW: ah hilfee
05.03.2010 11:09:26
Bea
https://www.herber.de/bbs/user/68404.xls
ich hoff das hat es jetz nich doppelt gepostet,,
tino, hab das neue makro übernommen (pst "X"-Änderungen) und getestet, hat super geklappt, aber jetz geht auf einmal gar nix mehr, kannst du mal reinschaun ? *aaah*
Bea
Anzeige
Funktioniert nicht bei freigegebener Arbeitsmappe
05.03.2010 11:27:07
Tino
Hallo,
da stehen nicht alle funktionen zur Verfügung.
Gruß Tino
AW: der Autofilter geht aber noch...
05.03.2010 12:30:33
Bea
Tino- du bist echt ein held.
:)
!!!!
alles wunderbar, vielen dank und noch einen schönen tag!
lg, Bea
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Bestimmte Zeilen in ein neues Blatt kopieren


Schritt-für-Schritt-Anleitung

Um bestimmte Zeilen in ein neues Blatt zu kopieren, kannst Du entweder eine VBA-Lösung verwenden oder mit Excel-Formeln arbeiten. Hier ist eine einfache Methode mit VBA:

  1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge folgenden Code in das Modul ein:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       Dim zelle As Range
       If Intersect(Target, Range("C1:C1220")) Is Nothing Then Exit Sub
       If Target.Value = "" Then
           Target.Value = "X"
           Target.EntireRow.Copy Worksheets("Tabelle2").Range("A" & Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1)
       Else
           Target.Value = ""
           Set zelle = Worksheets("Tabelle2").Range("B1:B100").Find(Target.Offset(0, -1).Value, LookIn:=xlValues)
           If Not zelle Is Nothing Then zelle.EntireRow.Delete
       End If
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Doppelklicke auf die Zelle in Spalte C, um ein "X" zu setzen. Die gesamte Zeile wird nun in Tabelle 2 kopiert.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht, wenn die Arbeitsmappe freigegeben ist.

    • Lösung: Stelle sicher, dass die Arbeitsmappe nicht freigegeben ist, bevor Du das Makro ausführst.
  • Fehler: Die Zeilen werden nicht korrekt kopiert.

    • Lösung: Überprüfe, ob die Zelladressen im VBA-Code korrekt sind. Möglicherweise musst Du die Range anpassen.

Alternative Methoden

Wenn Du keine VBA-Lösung verwenden möchtest, kannst Du auch Excel-Formeln nutzen, um bestimmte Zeilen in ein anderes Tabellenblatt zu kopieren. Hier ist eine Möglichkeit:

  1. Verwende die Funktion FILTER, um nur die Zeilen mit einem bestimmten Inhalt anzuzeigen.

    =FILTER(Tabelle1!A1:H100, Tabelle1!C1:C100="X")
  2. Diese Formel überträgt alle Zeilen mit einem "X" in Spalte C nach Tabelle 2.


Praktische Beispiele

Angenommen, Du hast eine Anmeldeliste in Tabelle1, und Du möchtest alle Teilnehmer, die mit "X" markiert sind, in Tabelle2 übertragen.

  1. Setze in Tabelle1 in Spalte C ein "X" für die Teilnehmer.
  2. Verwende das oben genannte Makro oder die FILTER-Formel, um die Zeilen in Tabelle 2 zu kopieren.

Tipps für Profis

  • Wenn Du häufig bestimmte Zeilen in ein neues Blatt kopierst, erwäge die Verwendung von benutzerdefinierten Funktionen in VBA.
  • Du kannst auch Datenübertragungen automatisieren, indem Du Ereignisse wie Worksheet_Change nutzt, um Änderungen in Echtzeit zu verfolgen.

FAQ: Häufige Fragen

1. Wie kann ich alle Zeilen kopieren, die einen bestimmten Wert enthalten?
Verwende die FILTER-Funktion oder ein VBA-Skript, um nur die gewünschten Zeilen in ein neues Blatt zu übertragen.

2. Was mache ich, wenn ich nur bestimmte Spalten in ein anderes Tabellenblatt übernehmen möchte?
Du kannst die gewünschten Spalten im VBA-Code oder in der Formel spezifizieren, indem Du die entsprechenden Zellbereiche auswählst.

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