Sub Dateien_Erfassung()
Dim Mappen As Integer
Pfad = "C:\Users\Helmut\Documents\" 'hier muss der Passende Pfad eingefügt werden
Pfad_Länge = Len(Pfad)
With Application.FileSearch
.NewSearch
.LookIn = Pfad
.SearchSubFolders = False
.Filename = "*.xls"
If .Execute() > 1 Then
For Mappen = 1 To .FoundFiles.Count
If .FoundFiles(Mappen) <> "Zusammenstellung" Then
Workbooks.Open Filename:=.FoundFiles(Mappen)
Name = Mid(.FoundFiles(Mappen), Pfad_Länge + 1, 50)
Text_Länge = Len(Name)
Name = Mid(Name, 1, Text_Länge - 4) 'Wert -4 ist zu ändern, wenn nicht Endung .xls ist
Workbooks(1).Activate
Sheets.Add
Sheets(Sheets.Count - 1).Select
Sheets(Sheets.Count - 1).Move After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Name
Workbooks(2).Activate
Sheets("Tabelle1").Select
Cells.Select
Selection.Copy
Workbooks(1).Activate
Sheets(Name).Select
Range("A1").Select
ActiveSheet.Paste
Workbooks(2).Close
End If
Next Mappen
End If
End With
End SubSub FilesListen()
Call EventsOff
Dim Dateien As Integer
Dim DateiName As String
With Application.FileSearch
.NewSearch
.LookIn = "C:\Temp\"
.SearchSubFolders = False
.Filename = "*.xls"
If .Execute() > 0 Then
For Dateien = 1 To .FoundFiles.Count
DateiName = Dir(.FoundFiles(Dateien))
If DateiName <> ThisWorkbook.Name Then
Workbooks.Open Filename:=.FoundFiles(Dateien)
If SheetExists("" & Mid(DateiName, 1, Len(DateiName) - 4)) = False Then
ThisWorkbook.Worksheets.Add , ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count).Name = Mid(DateiName, 1, Len(DateiName) - 4)
Workbooks(DateiName).Worksheets("Tabelle1").Range(Workbooks(DateiName).Worksheets("Tabelle1").Cells(2, 1), Workbooks(DateiName).Worksheets("Tabelle1").Cells(Workbooks(DateiName).Worksheets("Tabelle1").UsedRange.SpecialCells(xlCellTypeLastCell).Row, Workbooks(DateiName).Worksheets("Tabelle1").UsedRange.SpecialCells(xlCellTypeLastCell).Column)).Copy ThisWorkbook.Worksheets(Mid(DateiName, 1, Len(DateiName) - 4)).Range("A" & ThisWorkbook.Worksheets(Mid(DateiName, 1, Len(DateiName) - 4)).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
Workbooks(DateiName).Close SaveChanges:=True
Else
Workbooks(DateiName).Worksheets("Tabelle1").Range(Workbooks(DateiName).Worksheets("Tabelle1").Cells(2, 1), Workbooks(DateiName).Worksheets("Tabelle1").Cells(Workbooks(DateiName).Worksheets("Tabelle1").UsedRange.SpecialCells(xlCellTypeLastCell).Row, Workbooks(DateiName).Worksheets("Tabelle1").UsedRange.SpecialCells(xlCellTypeLastCell).Column)).Copy ThisWorkbook.Worksheets(Mid(DateiName, 1, Len(DateiName) - 4)).Range("A" & ThisWorkbook.Worksheets(Mid(DateiName, 1, Len(DateiName) - 4)).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
Workbooks(DateiName).Close SaveChanges:=True
End If
End If
Next Dateien
End If
End With
ThisWorkbook.Worksheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Delete
Call EventsOn
End Sub
Public Sub EventsOff()
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub
Public Sub EventsOn()
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub
Public Function SheetExists(strName As String) As Boolean
On Error Resume Next
SheetExists = Not ThisWorkbook.Worksheets(strName) Is Nothing
End FunctionSub FilesListen()
Call EventsOff
Dim Dateien As Integer
Dim DateiName As String
With Application.FileSearch
.NewSearch
.LookIn = "C:\Temp\"
.Filename = "*.xls"
If .Execute() > 0 Then
For Dateien = 1 To .FoundFiles.Count
DateiName = Dir(.FoundFiles(Dateien))
If DateiName <> ThisWorkbook.Name Then
Workbooks.Open Filename:=.FoundFiles(Dateien)
Workbooks(DateiName).Worksheets("Tabelle2").Range(Workbooks(DateiName).Worksheets("Tabelle2").Cells(2, 1), Workbooks(DateiName).Worksheets("Tabelle2").Cells(Workbooks(DateiName).Worksheets("Tabelle2").UsedRange.SpecialCells(xlCellTypeLastCell).Row, Workbooks(DateiName).Worksheets("Tabelle2").UsedRange.SpecialCells(xlCellTypeLastCell).Column)).Copy ThisWorkbook.Worksheets("Tabelle1").Range("A" & ThisWorkbook.Worksheets("Tabelle1").UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
Workbooks(DateiName).Close SaveChanges:=True
End If
Next Dateien
End If
End With
Call EventsOn
End Sub
Public Sub EventsOff()
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub
Public Sub EventsOn()
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub
Tabellenblätter automatisch sortieren
bernyzz 13.05.2007 - 142 Hits - 2 Antworten
Excel-Dateien mit internen Verknüpfungen kopieren
beakeralex 10.07.2007 - 306 Hits -
Inhalt mehrerer Excel Dateien in neue Dateien speichern, sortiert nach Datum.
Lithium 16.08.2007 - 80 Hits -