Thema Datum  Von Nutzer Rating
Antwort
Rot Tabellenblätter importieren und zusammenfassen
02.11.2020 14:57:55 Manfred
NotSolved
02.11.2020 16:30:55 Mase
NotSolved
02.11.2020 16:32:42 Mase
NotSolved

Ansicht des Beitrags:
Von:
Manfred
Datum:
02.11.2020 14:57:55
Views:
1151
Rating: Antwort:
  Ja
Thema:
Tabellenblätter importieren und zusammenfassen

Hallo miteinander, 

hier ein etwas anspruchsvolleres Projekt das mich seit einiger Zeit beschäftigt. Eines vorneweg: Ich bin absoluter VBA-Neuling und hangel mich seit mehreren Monaten durch die Thematik im Sinne von "Trial and Error". Für Vorschläge, den Code eleganter zu gestalten bin ich deshalb offen.

Ziel:

Es soll eine Gesamtübersicht in Excel erzeugt werden, in welche aus einem Online-Speicherort ca. 10 Tabellenblätter (Gruppen) hineinkopiert werden. Diese 10 Tabellenblätter besitzen jeweils ca. 10.000 Zeilen.

In der Gesamtübersicht sollen dann wiederum alle 10 Tabellenblätter zu einem Tabellenblatt zusammengefügt werden (Tabellenblätter_zusammenfassen).

Leider kopiert er mir nur die ersten Tabellenblätter mitsamt Leerzeilen. Ich möchte jedoch, dass Excel alle beschrifteten Zeilen von Tabellenblatt 1 bis Tabellenblatt 10 untereinander kopiert, ohne Leerzeilen und ohne die anderen zu überschreiben.

Vorab danke fürs Durchlesen!

 

 

'Gruppen von Speicherort in Tabellenblätter umwandeln

Sub Gruppen_zusammenführen()
   Dim oTargetBook As Object
   Dim oSourceBook As Object
   Dim sPfad As String
   Dim sDatei As String
     
     Application.ScreenUpdating = False 'Flackern ausstellen, falls notwendig
     Application.DisplayAlerts = False 'Keine Fehlermeldungen anzeigen
     
     'Arbeitsmappe festlegen, in die die neuen Sheets eingefügt werden...
     Set oTargetBook = ActiveWorkbook
    
     
     'Schleife über alle Excel Dateien in einem Verzeichnis/Ordner

     "\\C:Users\Admin\..."
     
     'Alle Excel-Dateien auswählen
     
     sDatei = Dir(CStr(sPfad & "*.xlsx*"))
     

     Do While sDatei <> ""
     
         'Öffnen der Datei und Datenübertragung alle Dateien in Gesamtübersicht
         Set oSourceBook = Workbooks.Open(sPfad & sDatei, False, True) 'nur lesend öffnen
         
        
         'Es wird immer das ZWEITE Tabellenblatt Sheets(2) kopiert!
         oSourceBook.Sheets(2).Copy after:=oTargetBook.Sheets(oTargetBook.Sheets.Count)
         
         
         'Dateiname der Tabelle wird Arbeitsblattname
         'Falls nicht lesbar, automatisch "Tabelle x" genannt
          On Error Resume Next
         
         'Arbeitsblattname wird der Dateiname
         oTargetBook.Sheets(oTargetBook.Sheets.Count).Name = sDatei
         
         
         'Wenn ein Fehler aufgetreten ist, wird dieser resettet
         If Err.Number <> 0 Then
             Err.Number = 0
             Err.Clear
         End If
         On Error GoTo 0
         
         'Datei wieder zu machen und nächste Schleifenrunde
         oSourceBook.Close False 'nicht speichern
         
         'Nächste Datei
         sDatei = Dir()
     Loop
     
     Application.ScreenUpdating = True 'Das Bildschirm-Aktualisieren wieder einschalten
     Application.DisplayAlerts = True 'Fehlermeldungen wieder anzeigen
     
    
     'Variablen aufräumen
     Set oTargetBook = Nothing
     Set oSourceBook = Nothing
End Sub



'Tabellenblätter als Werte kopieren

Sub Tabellenblätter_copy()
Dim i As Integer
For i = 2 To 9 'Anzahl Tabellenblätter in Gesamtübersicht
Worksheets(i).Copy after:=Sheets(9) 
ActiveSheet.UsedRange.Cells = ActiveSheet.UsedRange.Cells.Value
Next i

End Sub
Sub Tabellenblätter_zusammenfassen()

'Tabellenblatt 1 als "Zusammenfassung" deklarieren
Dim i As Integer
Dim Zusammenfassung As Worksheet

    'Ab dem zweiten Tabellenblatt zusammenfassen
    Set Zusammenfassung = Worksheets("Zusammenfassung")
    For i = 10 To 17

'Tabellenblätter untereinander einfügen

Set BereichZielTab = Worksheets(i).UsedRange
Set LetzteZeileZusammenfassung = Worksheets(1).Cells(Rows.Count, "A").End(xlUp)(2) 'wird in die ERSTE Zeile, Spalte A kopiert
BereichZielTab.Copy Destination:=LetzteZeileZusammenfassung
Next i

 'Finale Fertig-Meldung
     MsgBox "Fertig!", vbInformation + vbOKOnly, "Hinweis!"

End Sub

Grüße Manfred


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Tabellenblätter importieren und zusammenfassen
02.11.2020 14:57:55 Manfred
NotSolved
02.11.2020 16:30:55 Mase
NotSolved
02.11.2020 16:32:42 Mase
NotSolved