Thema Datum  Von Nutzer Rating
Antwort
13.11.2018 13:41:17 Sven Kleinherz
NotSolved
13.11.2018 15:27:59 Gast36837
NotSolved
13.11.2018 20:24:37 Gast55632
NotSolved
Blau In Excel mehrere ausgewählte Dateien untereinander zusammenfügen
14.11.2018 09:36:37 von und zu
Solved
16.11.2018 08:39:58 Sven Kleinherz
NotSolved

Ansicht des Beitrags:
Von:
von und zu
Datum:
14.11.2018 09:36:37
Views:
482
Rating: Antwort:
 Nein
Thema:
In Excel mehrere ausgewählte Dateien untereinander zusammenfügen

Servus Sven,

einmal leise weinend davon abgesehen dass der Code wohl der langsamste seiner Art.

mit der Boolean ob mit / oder ohne Überschriften musste schon vor dem Aufruf der eigentlichen Sub die Bereichsgrößen festlegen.

PS: sag Stefan Bescheid, dass es so funktioniert

Option Explicit

Sub MitFormeln()

   'leeren, wenn nötig
   Sheets("Tabelle1").UsedRange.Offset(1).Clear
   
   'die Quellen haben
   Zusammenführen True        'Überschriften - oder auch nicht (False)

End Sub

Private Sub Zusammenführen(blnÜberschrift As Boolean)
     Dim i               As Long
     Dim sPfad           As String
     Dim sDatei          As String
     Dim vFileToOpen     As Variant
     Dim lngLZ           As Long
     Dim iCalc           As Integer
     
     vFileToOpen = Application.GetOpenFilename("Excel Files (*.xls*), *.xls*", , , , True)
     If Not IsArray(vFileToOpen) Then Exit Sub
     
     iCalc = Application.Calculation

     On Error GoTo ENDE:
     Application.ScreenUpdating = False
     Application.Calculation = xlCalculationManual
     Application.EnableEvents = False
     
     For i = 1 To UBound(vFileToOpen)
         sDatei = Dir(vFileToOpen(i))
         sPfad = Left(vFileToOpen(i), InStr(vFileToOpen(i), sDatei) - 1)
     
         With Tabelle1.Range("A2")
             .Formula = "=LOOKUP(2,1/('" & sPfad & "[" & sDatei & "]Tabelle1'!$A:$A<>""""),ROW('" & sPfad & "\[" & sDatei & "]Tabelle1'!$A:$A))"
             lngLZ = .Value
         End With
         
         With Tabelle1
             If blnÜberschrift Then
                 .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(lngLZ - 1, 12).Formula = _
                 "='" & sPfad & "[" & sDatei & "]Tabelle1'!A2"
             Else
     
                 .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(lngLZ, 12).Formula = _
                 "='" & sPfad & "[" & sDatei & "]Tabelle1'!A1"
             End If
         End With
         'der Schmarrn bremst doch nur
         'Call StatusBalken(Int((i / UBound(vFileToOpen)) * 100))
     Next
     
     With Tabelle1.UsedRange
         .Copy
         .PasteSpecial xlPasteValues
         .Rows(2).Delete
     End With
     
ENDE:
     Application.EnableEvents = True
     Application.Calculation = iCalc
     Application.ScreenUpdating = True
     If Err Then MsgBox Err.Description, , "Fehler: " & Err

End Sub

 


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
13.11.2018 13:41:17 Sven Kleinherz
NotSolved
13.11.2018 15:27:59 Gast36837
NotSolved
13.11.2018 20:24:37 Gast55632
NotSolved
Blau In Excel mehrere ausgewählte Dateien untereinander zusammenfügen
14.11.2018 09:36:37 von und zu
Solved
16.11.2018 08:39:58 Sven Kleinherz
NotSolved