Ich habe mit Hilfe vom Forum hier vor längerer Zeit ein Makro erstellt, das mir dateien öffnet & reinkopiert.
Funktioniert alles so weit super, bis auf den Laptop eines Kollegen, wenn er das Script vom Netzlaufwerk aus startet, funktioniert das ganze Ding, startet er es von LOKAL aus bekomme ich einen Laufzeitfehler 9, index ausserhalb des gültigen Bereichs bei
" ReDim Monatsdateien(1 To .FoundFiles.Count)"
Ordnerstruktur von Netzlaufwerk wurde auf LOKAL kopiert.
ich hab das ganze jetzt mit meinen PC ausprobiert und da funktioniert das alles.
Anbei der Script.
Da der Script schon mal online steht, weiss jemand wie ich diesen script verändern könnte um das problem mit Application.Filesearch unter Excel 2007 in den Griff zu bekommen?
Sub Forecast_einlesen()
ApplicationUpdate = False
Application.Calculation = xlCalculationManual
Selection.AutoFilter 'Setzt den Autofilter zurück!
Range("A17:L17").Select 'Geht zum ersten Feld des Bereiches
Selection.AutoFilter 'Setzt neuen Autofilter, ohne zu selektieren
Dim Datname As Workbook, wksZiel As Worksheet, Monatsdateien() As Workbook
Dim iCounter As Integer, lZeileZiel As Long, wksquelle As Worksheet
Set Datname = ActiveWorkbook
Set wksZiel = Sheets("BASIC_forecasts ")
wksZiel.Select
With Application.FileSearch
.LookIn = ThisWorkbook.Path & "\Details-Forecast "
.SearchSubFolders = False
.Execute msoSortByFileType
.FileType = msoFileTypeExcelWorkbooks
ReDim Monatsdateien(1 To .FoundFiles.Count)
For iCounter = 1 To .FoundFiles.Count
Workbooks.Open Filename:= _
.FoundFiles(iCounter) _
, UpdateLinks:=0
Set Monatsdateien(iCounter) = ActiveWorkbook
Next iCounter
End With
Datname.Activate
With wksZiel
.Range(.Cells(18, 1), .Cells(18, 1).End(xlDown).Offset(0, 11)).ClearContents
lZeileZiel = 18
For iCounter = 1 To UBound(Monatsdateien)
Set wksquelle = Monatsdateien(iCounter).Worksheets(2)
wksquelle.Range(wksquelle.Cells(19, 1), _
wksquelle.Cells(19, 1).End(xlDown).Offset(0, 11)).Copy
' .Cells(lZeileZiel, 1).PasteSpecial Paste:=xlFormats
.Cells(lZeileZiel, 1).PasteSpecial Paste:=xlValues
lZeileZiel = .Cells(lZeileZiel, 1).End(xlDown).Row + 1
Application.CutCopyMode = False
Monatsdateien(iCounter).Close
Next
End With
ApplicationUpdate = True
Application.Calculation = xlCalculationAutomatic
Range("N19:O19").Select
Selection.Copy
Range("A18:B18").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("PIVOT_Forecast").Select
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
End Sub
vorab schon mal danke
LG
Rupert