ich habe ein Excel Makro geschrieben, welches mir aus mehreren Exceldateien alle Sheets in einer zusammenfasst. Leider greifen die Ursprungsdateien auf Externe Datenquellen zurück. Während der Makroprozedur sollen die Links nicht upgedatet werden. Beim Importieren passiert es komischer Weise nur manchmal, dass Excel in der fertigen Datei auf auf die ursprünglichen Links zurückgreifen will und diese nicht findet. In den Zellen der konsolidierten Datei steht dann etwas wie "#Name". Ich würde daher gerne während des Kopiervorgangs den Inhalt hartcodiert in das neue ExcelSheet einfügen. Gibt es eine Lösung dafür?
Break Links habe ich schon probiert über ein Makro einzufügen, doch dazu muss die Externe Datenquelle immer am selben Ort stehen, was ich eigentlich vermeiden wollte.
Herzlichen Dank im Voraus!!!
Martin
Sub KonsolidierenAlleDateien()
Dim Mappe As String
Dim i As Integer
Dim SheetName As String
Dim x As Integer
Const LW = "R:\"
Dim QuellOrdner As String
QuellOrdner = Cells(3, 2) & "\"
Dim ZielDatei As String
ZielDatei = Cells(5, 2)
Dim ZielOrdner As String
ZielOrdner = ActiveWorkbook.Path
ChDrive LW
ChDir QuellOrdner
Application.SheetsInNewWorkbook = 1
Workbooks.Add
ActiveWorkbook.SaveAs (ZielOrdner & "\" & ZielDatei & ".xls")
Mappe = Dir(QuellOrdner & "*.xls")
ChDir QuellOrdner
Do While Mappe <> ""
Workbooks.Open Mappe, UpdateLinks:=0
SheetName = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For i = 1 To Workbooks(Mappe).Sheets.Count
Workbooks(Mappe).Sheets(i).Copy After:=Workbooks(ZielDatei & ".xls").ActiveSheet
ActiveSheet.Name = SheetName & ActiveSheet.Name
Next i
Workbooks(Mappe).Close savechanges:=False
Mappe = Dir
Loop
Workbooks("Argus Makro.xls").Close savechanges:=False
End Sub