Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
728to732
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
728to732
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Blatter aus mehreren Mappen in neue Mappe kopieren

Blatter aus mehreren Mappen in neue Mappe kopieren
H.
Guten Abend liebe VBA-Spezialisten..
ich habe eine Große Bitte..
.. ich möchte gern alle Blätter aller Mappen eines bestimmten Verzeichnises(c:\test) in eine neue Mappe zusammenfassen bzw. kopieren.
Wer kann mir helfen.. Ich sag jetzt schon lieben Dank..
H.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Blatter aus mehreren Mappen in neue Mappe kopieren
ransi
HAllo
versuchs mal:


Option Explicit
Option Explicit
Public Sub ungetestet()
Dim neu As Workbook
Dim blatt As Worksheet
Dim merkevent As Boolean
Dim merkalarm As Boolean
Dim merkupdate As Boolean
Dim fs As FileSearch
Dim gefunden
With Application
    merkevent = .EnableEvents
    merkalarm = .DisplayAlerts
    merkupdate = .ScreenUpdating
End With
Set neu = Workbooks.Add
Set fs = Application.FileSearch
With fs
    .NewSearch
    .Filename = "*.xls"
    .LookIn = "C:\Test"
    .Execute
merkevent = False
merkalarm = False
merkupdate = False
    For Each gefunden In .FoundFiles
        Workbooks.Open (gefunden)
        For Each blatt In gefunden
            blatt.Copy after:=neu.Sheets(neu.Sheets.Count)
            gefunden.Close False
        Next blatt
    Next gefunden
End With
With Application
   .EnableEvents = merkevent
   .DisplayAlerts = merkalarm
   .ScreenUpdating = merkupdate
End With
End Sub


ransi
Anzeige
AW: Blatter aus mehreren Mappen in neue Mappe kopi
11.02.2006 21:51:13
Peter
Servus,
hab mir jetzt schon die Mühe gemacht, also poste ich´s auch ;-)


Option Explicit
Sub basMappe_kons()
Dim strArr, strWbk As String, _
    strPath As String
Dim wbkQu As Workbook, wbkZi As Workbook, wks As Worksheet
Dim lngZ As Long
Dim objFD As FileDialog
Set objFD = Application.FileDialog(msoFileDialogFilePicker)
With objFD
    .AllowMultiSelect = True
    If .Show = -1 Then
        ReDim strArr(0 To .SelectedItems.Count - 1)
        For lngZ = 1 To .SelectedItems.Count
            strArr(lngZ - 1) = .SelectedItems(lngZ)
        Next
    End If
End With
Set objFD = Nothing
Set objFD = Application.FileDialog(msoFileDialogFolderPicker)
With objFD
    .AllowMultiSelect = False
    If .Show - 1 Then
        For lngZ = 1 To .SelectedItems.Count
            strPath = .SelectedItems(lngZ)
            If Right(strPath, 1) <> "\" Then _
                strPath = strPath & "\"
        Next
    End If
End With
Set objFD = Nothing
strWbk = Application.InputBox("Bitte geben Sie einen Dateinamen ein !", "Dateinamen eingeben ?")
If strWbk = "" Then Exit Sub
If Right(strWbk, 4) <> ".xls" Then _
    strWbk = strWbk & ".xls"
Set wbkZi = Application.Workbooks.Add
    For lngZ = 0 To UBound(strArr)
        Set wbkQu = GetObject(strArr(lngZ))
            For Each wks In wbkQu.Worksheets
                wks.Copy after:=wbkZi.Sheets(Worksheets.Count)
            Next
        Set wbkQu = Nothing
    Next
wbkZi.SaveAs strPath & strWbk
Set wbkZi = Nothing
End Sub


MfG Peter
Anzeige
AW: Blatter aus mehreren Mappen in neue Mappe kopi
ransi
hallo
habs jetzt geteste und korrigiert:


Option Explicit
Public Sub getestet()
Dim neu As Workbook
Dim blatt As Worksheet
Dim merkevent As Boolean
Dim merkalarm As Boolean
Dim merkupdate As Boolean
Dim fs As FileSearch
Dim gefunden
With Application
    merkevent = .EnableEvents
    merkalarm = .DisplayAlerts
    merkupdate = .ScreenUpdating
End With
Set neu = Workbooks.Add
Set fs = Application.FileSearch
With fs
    .NewSearch
    .Filename = "*.xls"
    .LookIn = "C:\Test"
    .Execute
merkevent = False
merkalarm = False
merkupdate = False
    For Each gefunden In .FoundFiles
        Workbooks.Open (gefunden)
        For Each blatt In Workbooks(Dir(gefunden)).Sheets
           blatt.Copy after:=neu.Sheets(neu.Sheets.Count)
        Next blatt
        Workbooks(Dir(gefunden)).Close False
    Next gefunden
End With
With Application
   .EnableEvents = merkevent
   .DisplayAlerts = merkalarm
   .ScreenUpdating = merkupdate
End With
End Sub


sollte laufen.
das erste posting war fehlerhaft.
ransi
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige