Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1252to1256
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen aus Tabellenblättern kopieren

Zeilen aus Tabellenblättern kopieren
Dubach
Hallo zusammen,
zwar habe ich einige Beiträge gelesen, die sich auf das Kopieren von Daten aus mehreren Tabellenblättern beziehen.
Doch scheiterte ich am Transfer der Beispiele auf mein Problem.
Ausgangslage:
  • Alle Tabellenblätter befinden sich in derselben Exceldatei

  • Namen der Quell-Tabellenblätter = Chir, Ortho und Uro

  • Name Ziel-Tabellenblatt = Rohdaten

  • Ziel:
    Beim Öffnen der Datei ...
  • Die Titelzeile (Zeile 6) in "Chir" wird in das Tabellenblatt "Rohdaten" kopiert

  • Die Zeilen (Werte und Formate) mit Werten werden ab Zeile 7 aus den definierten Quell-Blättern untereinander in das Tabellenblatt "Rohdaten" kopiert. Achtung: Anzahl Zeilen ist variabel.

  • Die Spalten 10, 12, 16 werden aus dem Tabellenblatt "Rohdaten" entfernt (oder sie werden idealerweise schon beim Kopieren nicht berücksichtigt)

  • Mein bescheidenen Überlegungen:
  • Array definieren für die Quell-Tabellenblätter

  • Array definieren für die relevanten Spalten

  • Anzahl Zeilen ermitteln mit Werten in Spalte A (nur solche Zeilen sollen kopiert werden)

  • Diese Zeilen über eine Schlaufe mit dem Copy-Befehl laufen lassen

  • Diese Schlaufe läuft innerhalb einer übergeordneten Schlaufe, welche die im Array genannten Tabellenblätter durchläuft.de

  • Ich würde mich sehr freuen über Unterstützung bei der formalen Umsetzung.
    Herzlichen Dank
    A. Dubach
    AW: Zeilen aus Tabellenblättern kopieren
    09.03.2012 14:43:26
    guentherh
    Hallo A. Dubach
    Hier eine abgeänderte Anregung
    Unterprogramm "vonTabNachRohdatenKopieren" (bekommt Blatt für Quelle übergeben)
    Quelle.UsedRange sortieren nach Spalte A, so dass Zeilen mit Einträgen in A oben stehen
    Bereich mit Einträgen in A markieren (End - Methode)
    in Rohdaten einfügen
    in Rohdaten auf erste freie Position nach dem Eingefügten Bereich selektieren
    Unterprogramm fertig
    Hauptprogramm
    Überschrift aus "Chir" holen.
    Zelle unterhalb Überschrift positionieren
    vonTabNachRohdatenKopieren "Chir"
    vonTabNachRohdatenKopieren "Ortho"
    vonTabNachRohdatenKopieren "Uro"
    überflüssige Spalten löschen
    fertig
    Hauptunterschied ist, dass nicht Zeilenweise Kopiert, sondern durch Sortierung der Block mit den Relevanten Daten am Stück kopiert wird. Das sollte eine Menge Zeit sparen. Kann natürlich sein, dass die Datenreihenfolge vorher für Dich wichtig ist, dann muss es halt dauern.
    Gruß,
    Günther
    Anzeige
    AW: Zeilen aus Tabellenblättern kopieren
    09.03.2012 23:37:59
    Dubach
    Guten Abend Günther
    Besten Dank für deinen Lösungsansatz, den ich von der Ablauflogik her verstehe.
    Ich muss aber gestehen, dass meine VBA-Kenntnisse (noch) zu bescheiden sind, um da selbst auf die Lösung zu kommen. Wenn du mir etwas Input geben könntest, wäre ich dir dankbar.
    Die Datenreihenfolge in den Quelldaten ist übrigens sekundär. Bzw. die Benutzer können mit Klick auf einen Sortier-Button nach der ersten Spalte alphabetisch Sortieren - da sind die leeren Zeilen dann in der Regel unten. (Musste ich ein Makro lösen, da bestimmte Zellen mit Schreibschutz versehen sind.)
    mit Gruss
    Andrea
    Anzeige
    AW: Zeilen aus Tabellenblättern kopieren
    12.03.2012 20:48:04
    Dubach
    Hallo Günther
    Danke vielmals für deinen Support. Das hat mir mehr als nur mächtig geholfen!
    Ausgehend von deinem Code habe ich noch ein paar Anpassungen gemacht, die so weit funktionieren.
    Offen habe ich noch Folgendes:
  • Das Makro soll beim Datei-Öffnen automatisch starten. Wie das zu Definieren?

  • Es sollen nur die Werte und Formate übertragen werden. Das klappte bei der Überschrift. Wie kriege ich dies im Unterprogramm, Befehl "ActiveSheet.Paste" hin?

  • Meine aktuelle Arbeitsversion:
    https://www.herber.de/bbs/user/79348.xlsm
    Ich wünsche noch einen schönen Abend
    und nochmals ein Riesen-Dankeschön
    Gruss Andrea
    Anzeige
    AW: Zeilen aus Tabellenblättern kopieren
    14.03.2012 12:47:47
    Dubach
    Hallo Günther
    Inzwischen habe ich es hinbekommen, das Makro beim Öffnen der Datei zu starten.
    Bleibt nun noch das Einfügen der Zeilen - und zwar nur "Werte und Zahlenformate".
    Wie ich herausgefunden habe, kann ich "PasteSpecial Paste:=xlPasteValuesAndNumberFormats" nicht anwenden bei "Activate.paste". Doch wie ist der Code umzuschreiben? Ich müsste - so weit meine Suche - den genauen Range angeben können.
    Danke für einen hilfreichen Tipp
    Gruss
    Andrea
    AW: Zeilen aus Tabellenblättern kopieren
    14.03.2012 13:51:13
    guentherh
    Hallo Andrea,
    sorry für die lange Pause.
    statt
    ActiveSheet.Paste
    nimm
    Selection.EntireRow.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
    Gruß,
    Günther
    Anzeige
    AW: Zeilen aus Tabellenblättern kopieren
    14.03.2012 19:12:39
    Dubach
    Hallo Günther
    Die Pause war für mich sehr ergiebig, da ich bei meinen Trial-and-Error-Versuchen so Einiges gelernt habe. Inzwischen habe ich weiter "gebaut":
  • Der Nutzer löst per Klick auf einen Button den Kopierjob ins zusammenfassende Tabellenblatt aus.
  • Gleichzeitig werden auch die Pivottabellen aktualisiert, die auf die Zusammenfassung zugreifen.

  • Mal sehen, ob ich es noch hinkriege, den sich erweiternden Pivotbereich zu ermitteln und zu übergeben. Momentan schummle ich und gebe einen sehr grossen Zeilenbereich an.
    Ich meine, ich schliesse nun meine Frage. Diese ist durch deinem Support hervorragend beantwortet.
    Nochmals besten Dank.
    Gruss
    Andrea
    Anzeige
    AW: Zeilen aus Tabellenblättern kopieren
    14.03.2012 21:22:43
    Dubach
    Hallo Günther
    Inzwischen habe ich die Daten für die Pivottabelle dynamisch aufbereitet verfügbar. Habe mich an folgender Anleitung orientiert: http://www.online-excel.de/excel/singsel.php?f=69.
    mit Gruss
    Andrea

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige