Office: Zeilen aus mehreren Arbeitsblättern zusammenfügen

Helfe beim Thema Zeilen aus mehreren Arbeitsblättern zusammenfügen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Wer kann einem Anfänger helfen ein VBA zu erstellen. Problemstellung: Die Firma arbeiten auf Basis von Excel zurzeit und für die Verschiffung... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von pistenraudi, 15. Januar 2009.

  1. Zeilen aus mehreren Arbeitsblättern zusammenfügen


    Hallo

    Wer kann einem Anfänger helfen ein VBA zu erstellen.
    Problemstellung:
    Die Firma arbeiten auf Basis von Excel zurzeit und für die Verschiffung von Ware wird für jedes Schiff ein Arbeitsblatt erstellt mit den Auftragsnummern, et.. Nun möchte ich gerne alle Schiffe und deren Positionen auf einem Arbeitsplatt zusammenziehen, damit ich eine Auflistung erhalte für die Weiterbearbeitung (Pivot).

    Aufbau der Arbeitsblätter ist immer gleich, Ab der Zeile 17 sind alle Informationen die in die Hauptdatei (Übersicht) kopiert (Wert) werden müssen.

    Ich bringe es nicht fertig, dass aber der Zeile 17 die Zeilen kopiert werden die einen Wert enthalten und dann das nächste Arbeitsblatt angehängt wird.

    Visual Basic 6.5
    Excel 2007 (Mitarbeiter haben 2003)

    Kann mir jemand helfen ein Makro zu erstellen, damit ich dieses Problem löse und mich tiefer mit dieser Materie auseinandersetzten kann/darf.

    Besten Dank für Eure Unterstützung und Gruss aus dem heissen Afrika

    P

    :)
     
    pistenraudi, 15. Januar 2009
    #1
  2. Hallo pistenraudi,

    versuch es mit dem nachfolgenden Makro:

    Code eingefügt mit
     
  3. Hallo Peter

    Besten Dank für dein Makro und die schnelle Antwort. Es funktioniert mit drei kleinen Problemen.

    Erstens:
    Wie lautet der Befehlscode, dass das Makro beim Worksheet "Start" bis zum Worksheet "Ende" die Zeilen kopiert. So kann mann hinter dem Range auch ein Worksheet einfügen ohne dass einem die Daten in der Zusammenfassung erscheinen. Die Arbeitsweise ist teilweise sehr gewöhnungsbedürftig in diesem Land:-).

    Zweitens:
    Jetzt kopiert er mir die Zeile eins zu eins, somit nimmt es mir die Formeln die mit anderen Excels zusammenhängen auch mit. Es besteht doch die Möglichkeit nur den Wert einzufügen. Ich glaube, dass dieser Befehl so lauten müsste:

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

    wie muss ich den Befehl einpflegen, damit er mir dann nur den Wert nimmt?

    Drittens:
    Das Makro wird bei der Zeil 17 in der Zusammenfassung eingefügt. Eigentlich sollte es aber bei der zweiten Zeile losgehen.

    Danke für deine Unterstützung und warme Grüsse aus dem heissen Kamerun.
    Pascal

    PS. Gibt es Programme die einem Unterstützen diese Codes zu schreiben?
     
    pistenraudi, 18. Januar 2009
    #3
  4. Zeilen aus mehreren Arbeitsblättern zusammenfügen

    Hallo Pascal,

    zu deinen Fragen:

    Zu 1 kannst du nur entweder die Tabellenblätter aufzählen, die du kopieren möchtest oder die, die eben NICHT kopiert werden sollen.
    Wenn du sagst Tabelle(1) bis Tabelle(10) und jemand fügt hier ein Blatt ein, stimmt das Konzept nicht mehr.
    Ich habe dir zweimal Nicht "Zusammenführung" im Makro ausgeschlossen, hier kannst du die anderen nicht zu kopierenden Blätter nach gleichem Muster einfügen.

    Zu 2: Formeln sollten nun nicht mehr kopiert werden , nur noch Values.

    Zu 3: Es wird bei Zeile 2 mit dem Kopieren begonnen.

    Gruß Peter


    Code eingefügt mit
     
  5. Hallo Pascal,

    als Ergänzung:

    Wenn deine zu kopierenden Tabellenblätter ALLE einen einheitlichen Namensteil haben (z. B. Ship4711, Ship4812 usw) kannst du den natürlich gut zum Extrahieren nur dieser Tabellenblätter verwenden.

    If Left(WkSh_Q.Name, 4) = "Ship" Then

    die Lösung mit Start - Ende (hier mit 1 to 2 angegeben)
    könnte so aussehen:


    Code eingefügt mit
     
  6. Hallo Peter

    Besten Dank für deine Bemühungen. Ich habe das letzte Makro ausprobiert und es funktioniert bei mir nicht mit dem Start -Ende Range. Somit entschied ich mich für die zweite Variante mit dem ausschliessen der Arbeitsblätter. So schaut meine abgeänderte (ganz wenig) Variante aus.

    Option Explicit

    Sub Schaltfläche3_KlickenSieAuf()


    Dim WkSh_Q As Worksheet ' die Quell-Tabellenblätter - die Herkunftblätter
    Dim WkSh_Z As Worksheet ' das Ziel-Tabellenblatt - die Ausgabe
    Dim lZeile_Q As Long ' der For/Next Schleifen-Index im Quell-Tabellenblatt
    Dim lZeile_Z As Long ' die Ausgabezeile im Ziel-Tabellenblatt

    Application.ScreenUpdating = False ' kein Bildschirm-Update - kein Flackern

    Set WkSh_Z = ThisWorkbook.Worksheets("Résumé") ' das Ausgabeblatt

    For Each WkSh_Q In ThisWorkbook.Worksheets ' über alle Blätter der Mappe laufen
    If WkSh_Q.Name "Résumé" And _
    WkSh_Q.Name "Résumé" And _
    WkSh_Q.Name "Recup" And _
    WkSh_Q.Name "Langue - Taal" And _
    WkSh_Q.Name "Commandes TRC" And _
    WkSh_Q.Name "Ouvert" And _
    WkSh_Q.Name "Kumba Divers" And _
    WkSh_Q.Name "Bonaberi Divers" And _
    WkSh_Q.Name "Zone Industrielle Divers" Then ' gewisse Tabellenblätter ausnehmen
    ' ab Zeile 17 bis zur letzten belegten Zelle in Spalte 1 = A
    For lZeile_Q = 17 To WkSh_Q.Cells(Rows.Count, 1).End(xlUp).Row
    ' ist die Zeile die kopiert werden soll NICHT leer?
    If WorksheetFunction.CountA(WkSh_Q.Rows(lZeile_Q)) 0 Then
    ' im Ziel-Tabellenblatt die nächste freie Zeile in Spalte 1 = A suchen
    lZeile_Z = WkSh_Z.Cells(Rows.Count, 1).End(xlUp).Row + 1
    ' ist die erste freie Zeile im Ziel-Tabellenblatt < 2, dann nimm 2
    ' hier kann natürlich eine andere Start-Zeile gewählt werden
    If lZeile_Z < 2 Then lZeile_Z = 2
    ' die Zeile aus dem Quell-Tabellenblatt ==> ZielTabellenblatt kopieren
    WkSh_Q.Rows(lZeile_Q).Copy
    WkSh_Z.Rows(lZeile_Z).PasteSpecial Paste:=xlValues
    End If
    Next lZeile_Q
    End If
    Next WkSh_Q

    Application.ScreenUpdating = True ' den Bildschirm-Update wieder zulassen

    End Sub

    Hat mir für das VBA Verständnis schon viel gebracht. Übung macht den Meister:-)

    Danke und Gruss
    Pascal
     
    pistenraudi, 19. Januar 2009
    #6
  7. Hallo,
    ich habe ein ähnliches Problem.
    Ich habe mehrere Tabellenblätter, in jedem Tabellblatt sind Kundeninformationen abgespreichert.
    Der Name des Unternehmens steht immer in Zelle B3,
    Ab Zeile 20 steht in Spalte A die Überschrift "Datum" in Spalte B die Überschrif "Notiz". Dort werden die jeweils letzten Aktivitäten eingetragen.
    Nun möchte ich eine Zusammenfassung in einem Extra - Tabellenblatt haben.
    Dort soll zunächst in Spalte A der Name des Unternehmens stehen (steht auf jedem Tabellenblatt in Zelle B3) und in Spalte D soll die jeweils letzte Notiz eines jeden Tabellenblattes stehen. Diese kann natürlich mal in Zeile 20 stehen, mal in Zeile 30 usw. je nach Aktivitäten.
    Ich hoffe Ihr könnt mir weiterhelfen, ich stehe mit meinem VBA Kenntnissen leider am Ende.

    DANKE für Eure Hilfe.
    Grüsse
    Stephan
     
  8. Zeilen aus mehreren Arbeitsblättern zusammenfügen

    Hallo Stephan,

    dann sieh dir die beigefügte Mappe an.
    Starte das Makro entweder mit Alt + F8 oder über Extras - Makro - Makros.

    Gruß Peter
     
  9. Hallo Peter,

    so ein ähnliches Problem beschäftigt mich auch gerade!
    Habe deinen CODE mit Ergänzung mal nachgebaut.
    Nur wo platziere ich den Eintrag Code:
    in meinem CODE?
    Kannst du mir da bitte weiterhelfen?!
    Code:
    Vielen Dank
     
  10. Der Thread ist nun schon etwas älter, aber da ich den gleichen Code benutzt habe, dachte ich mir ich schreib einfach hier direkt darunter.

    Eigentlich habe ich genau das gleiche vor wie der threadstarter. Würde aber gerne noch einen zusätzlichen Filter einbauen. Ich habe eine Liste an Namen der verschiedenen Arbeitsblätter, die in dem Makro berücksichtigt werden sollen. Pefeu hat ja schon in seiner Antwort ungefähr beschrieben wie es geht:

    If WkSh_Q.Name "Zusammenfassung" And _
    WkSh_Q.Name "Name2" Then

    Wie ersetze ich nun "Name2" mit meiner Liste "A3:A50".

    Vielen Dank schonmal im Vorraus
     
  11. Hallo zusammen,

    ich habe mich sehr über den Input in diesem Beitrag gefreut.

    Ich habe diesen folgenden Quell-Text und müsste nun ein paar Änderungen an diesem vornehmen, sodass dieser Quell-Text für mein Problem passt.

    Ich bin jedoch noch nicht so gut in Excel-VBA und stehe noch sehr am Anfang! Deswegen benötige ich eure Hilfe.
    ____________________________________

    Option Explicit

    Public Sub Zusammenfassen()

    Dim WkSh_Q As Worksheet ' die Quell-Tabellenblätter - die Herkunftblätter
    Dim WkSh_Z As Worksheet ' das Ziel-Tabellenblatt - die Ausgabe
    Dim lZeile_Q As Long ' der For/Next Schleifen-Index im Quell-Tabellenblatt
    Dim lZeile_Z As Long ' die Ausgabezeile im Ziel-Tabellenblatt

    Application.ScreenUpdating = False ' kein Bildschirm-Update - kein Flackern

    Set WkSh_Z = ThisWorkbook.Worksheets("Zusammenfassung") ' das Ausgabeblatt

    For Each WkSh_Q In ThisWorkbook.Worksheets ' über alle Blätter der Mappe laufen
    If WkSh_Q.Name "Zusammenfassung" And WkSh_Q.Name "Auswertung" Then ' das Ziel und das Auswertung-Tabellenblatt ausnehmen

    ' ab Zeile 4 bis zur letzten belegten Zelle in Spalte 1 = A
    For lZeile_Q = 4 To WkSh_Q.Cells(Rows.Count, 1).End(xlUp).Row
    ' ist die Zeile die kopiert werden soll NICHT leer?
    If WorksheetFunction.CountA(WkSh_Q.Rows(lZeile_Q)) 0 Then
    ' im Ziel-Tabellenblatt die nächste freie Zeile suchen
    lZeile_Z = WkSh_Z.Cells(Rows.Count, 1).End(xlUp).Row + 1
    ' ist die erste freie Zeile im Ziel-Tabellenblatt < 2, dann nimm 2
    If lZeile_Z < 2 Then lZeile_Z = 2
    ' die Zeile aus dem Quell-Tabellenblatt ==> ZielTabellenblatt kopieren
    WkSh_Q.Rows(lZeile_Q).Copy Destination:=WkSh_Z.Rows(lZeile_Z)
    End If
    Next lZeile_Q
    End If
    Next WkSh_Q

    Application.ScreenUpdating = True ' den Bildschirm-Update wieder zulassen

    End Sub

    ______________________
    Wie passe ich diesen Quellcode an, sodass er die Daten aus den Quelltabellenblättern nur bestimmte Spalte (A-O) kopiert. Außerdem befinden sich unter den zu kopierenden Daten ein paar Formeln, die jedoch in der Zusammenfassung als Werte angezeigt werden sollen.

    Vielen Dank!

    Liebe Grüße
    Dirk
     
    Dirk92, 5. März 2018
    #11
Thema:

Zeilen aus mehreren Arbeitsblättern zusammenfügen

Die Seite wird geladen...
  1. Zeilen aus mehreren Arbeitsblättern zusammenfügen - Similar Threads - Zeilen mehreren Arbeitsblättern

  2. Eingaben in mehreren Spalten und Zeilen per Knopfdruck löschen

    in Microsoft Excel Hilfe
    Eingaben in mehreren Spalten und Zeilen per Knopfdruck löschen: Hallo zusammen, Ich habe einen Excel Kalkulater gebaut mit welchem man bestimmte Werte (tun hier nichts zur Sache) berechnen kann. Nun ist es so, dass die beiden Tabellenblätter für die...
  3. Bitte um Hilfe bei verschachtelter Filterung über mehrere Zeilen

    in Microsoft Excel Hilfe
    Bitte um Hilfe bei verschachtelter Filterung über mehrere Zeilen: Hallo, Ich stehe vor einer Aufgabe die ich nicht zu lösen weiss und wäre für eure Hilfe sehr dankbar. Es geht darum eine Excel Tabelle zu filtern, aber (ich nenne es mal so) verschachtelt über...
  4. mehrer Zeilen zurückgeben nach erfüllter Bedingung

    in Microsoft Excel Hilfe
    mehrer Zeilen zurückgeben nach erfüllter Bedingung: Hallo, ich stehe vor folgenden Problem.Ich will eine Art Bon Analyse machen. Die Aufgabe vor der ich hier stehe und aktuell nicht weiterkomme ist folgende: Wenn 2 gleiche Werten in Spalte C sind,...
  5. Zeilen aus mehreren Dateien in neue Datei wenn...

    in Microsoft Excel Hilfe
    Zeilen aus mehreren Dateien in neue Datei wenn...: Hallo erst einmal. Ich habe mich gerade angemeldet weil ich hier sicher kompetente Antworten finden werde. Man verzeihe mir bitte wenn so ähnliche Fragen hier schon aufgetaucht sind, ich fand...
  6. Verhindern, das Excel mehrere Zeilen ausgibt

    in Microsoft Excel Hilfe
    Verhindern, das Excel mehrere Zeilen ausgibt: Hallo, ich ärgere mich gerade wegen einer Formel Herum excel gibt mir mehr Zeilen aus ( was ich nicht möchte. A die Formel lautet so...
  7. Zeilen verschiedene Tabellen miteinander vergleichen

    in Microsoft Excel Hilfe
    Zeilen verschiedene Tabellen miteinander vergleichen: Guten Tag, ich benötige bitte eure Hilfe. Ich habe eine Excel Datei mit zwei Arbeitsblätter. Arbeitsblatt 1 mit Spalte a=Lieferant und Spalte b=IBAN Nummer. Arbeitsblatt 2 beinhaltet die...
  8. Einfügen mehrerer Zeilen in ein Excel-Arbeitsblatt

    in Microsoft Excel Tutorials
    Einfügen mehrerer Zeilen in ein Excel-Arbeitsblatt: Einfügen mehrerer Zeilen in ein Excel-Arbeitsblatt Excel 2013 Zum Einfügen mehrerer Zeilen wählen Sie die Zeilen aus, über denen Sie Zeilen einfügen möchten. Wählen Sie genauso viele Zeilen...
  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