zum testen, Tabellen kopieren.
29.01.2015 17:59:28
Tino
Hallo,
kannst mal testen.
Das löschen der Dateien habe ich noch deaktiviert,
weil diese dann nicht mehr wiederhergestellt werden können.
Wenn Tabellen doppelt vorkommen, kommt es zum Fehler!
Pfad wo die Dateien liegen noch anpassen.
Sub Start()
Dim sOrdner$, sDir$
Dim varFile(), i%, ii%, iii%
Dim NewApp As Excel.Application, NewWB As Workbook, oWBEx As Workbook
sOrdner = "C:\Temp\" 'Ordner anpassen
If Right$(sOrdner, 1) <> "\" Then sOrdner = sOrdner & "\"
sDir = Dir(sOrdner & "*.xls?", vbNormal)
Do While sDir <> ""
Redim Preserve varFile(i)
varFile(i) = sOrdner & sDir
i = i + 1
sDir = Dir()
Loop
If i = 0 Then Exit Sub
On Error GoTo ErrorHandler:
Set NewApp = New Excel.Application
Set NewWB = NewApp.Workbooks.Add
NewApp.DisplayAlerts = False
NewApp.Calculation = xlCalculationManual
NewApp.EnableEvents = False
NewApp.ScreenUpdating = False
With NewWB
For i = Lbound(varFile) To Ubound(varFile)
Application.StatusBar = "Bearbeite Datei " & i + 1 & " von " & Ubound(varFile) + 1
Set oWBEx = NewApp.Workbooks.Open(varFile(i))
For ii = 1 To oWBEx.Worksheets.Count
If oWBEx.Worksheets(ii).Name Like "##.##.##" Then
If iii = 0 Then
oWBEx.Worksheets(ii).Copy Before:=.Worksheets(1)
For iii = NewWB.Sheets.Count To 2 Step -1
.Sheets(iii).Delete
Next iii
Else
oWBEx.Worksheets(ii).Copy After:=.Worksheets(.Worksheets.Count)
End If
End If
Next ii
oWBEx.Close False
' Kill varFile(i) ' hier wird gelöscht *****************************
Next i
End With
ErrorHandler:
Application.StatusBar = False
If Err.Number <> 0 Then MsgBox Err.Number & vbCr & vbCr & Err.Description, vbExclamation
On Error Resume Next
NewApp.DisplayAlerts = True
NewApp.Calculation = xlCalculationAutomatic
NewApp.EnableEvents = True
NewApp.ScreenUpdating = True
NewApp.Visible = True
End Sub
Gruß Tino