Sub WorksheetCopyWerte() Call EventsOff Dim DateiName As String, OrdName As String, Quellpfad As String, Anhangpfad As String Dim OrdIndex As Integer Dim Zelle As Range ReDim OrtDat(OrdIndex) As String Quellpfad = "G:\SSM\" Anhangpfad = "\Kundenlisten\" OrdName = Dir(Quellpfad, 16) Do While OrdName <> "" If Mid(OrdName, 1, 7) = "Bereich" And GetAttr(Quellpfad & OrdName) = 16 Then OrtDat(OrdIndex) = OrdName OrdIndex = OrdIndex + 1 ReDim Preserve OrtDat(OrdIndex) End If OrdName = Dir(, 16) Loop For OrdIndex = 0 To UBound(OrtDat()) - 1 DateiName = Dir(Quellpfad & OrtDat(OrdIndex) & Anhangpfad & "*.xls") Do While DateiName <> "" If ThisWorkbook.Name <> DateiName Then Workbooks.Open Filename:=Quellpfad & OrtDat(OrdIndex) & Anhangpfad & DateiName Workbooks(DateiName).Worksheets(1).Unprotect ("DeinPasswort") For Each Zelle In Worksheets(1).UsedRange If Zelle.MergeCells Then Zelle.MergeCells = False Next Zelle Workbooks(DateiName).Worksheets(1).Range("A2:Z" & Workbooks(DateiName).Worksheets(1).Range("A" & Rows.Count).End(xlUp).Row).Copy ThisWorkbook.Worksheets("Gesamt").Range("A" & ThisWorkbook.Worksheets("Gesamt").Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, Operation:=xlNone ThisWorkbook.Worksheets(OrtDat(OrdIndex)).Range("A" & ThisWorkbook.Worksheets(OrtDat(OrdIndex)).Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, Operation:=xlNone Workbooks(DateiName).Close SaveChanges:=False End If DateiName = Dir Loop Next OrdIndex Call EventsOn End Sub
58.7k Fragen
251k Antworten
7.3k Nutzer