1. #1
    Cadet 4th Year
    Dabei seit
    Nov 2007
    Beiträge
    80

    Macro um Links zu Dateien zu ändern

    Habe eine Exceldatei in einem Ordner, die sich Daten aus mehreren Dateien in Unterordnern holt. Nun möchte ich den Hauptordner samt Dateien und Unterordner vervielfachen, natürlich mit anderen Ordnernamen (copy+paste im Windows Explorer). Ich erstelle so zig Kopien vom Original.

    Leider stimmen dann die Dateilinks nicht mehr, da die Exceldatei denkt, dass die Unterdateien in dem Originalordner liegen. Dazu möchte ich nun ein Macro erstellen, um automatisch die Dateilinks zu ändern. Der Macrorecorder hat mir für den Anfang geholfen, leider reichen meine Kenntnisse nicht aus, um das Macro zu automatisieren. Hier mein Macro bis jetzt:

    Sub ChangeLinks()
    ChDir _
    "C:\Kopie\Unterordner"
    ActiveWorkbook.ChangeLink Name:= _
    "Q:\Original\Unterordner\DateiB.xlsb" _
    , NewName:="DateiB.xlsb", Type:=xlExcelLinks
    End Sub

    Soweit so gut. Leider ist der Ordnername der Kopie von Fall zu Fall unterschiedlich. Daher wollte ich über die Zelle-Formel den Pfad und Dateinamen in einem gesonderten Tabellenblatt hinterlegen und diesen Wert dann in einer Variable zwischenspeichern. Dann müsste ich nicht 100 Ordnernamen von Hand eingeben.

    Mein Versuch (In Zelle B5 steht der Ordnername):

    Dim tmp As String
    tmp = Workbooks(DateiB.xlsb).Sheets("Sheet1").Range("B5").Text
    ChDir _
    "tmp"

    Nach diesem Schema wollte ich die Datei/Pfadnamen in dem Macro oben ersetzen aber ich bekomme die Fehlermeldung: "Path not found"

  2. Anzeige
    Logge dich ein, um diese Anzeige nicht zu sehen.
  3. #2
    Commander
    Dabei seit
    Apr 2012
    Beiträge
    2.432

    AW: Macro um Links zu Dateien zu ändern

    Ich kapiere da nicht so ganz was du da veranstaltest, aber es mag sein, dass ich da auch völlig in die falsche Richtung denke.

    Du möchtest also in der Kopie XY die im Pfad XY gelandet ist alle Pfadangaben in Links in Zellen auf diesen neuen Ordner XY, die neue Struktur XY, anpassen?
    Es gibt da eine Rückgabe wie z.B. ActiveWorkbook.Path mit der ich am neuen Ort per Makro ohne Hilfszellen Anpassungen vornehmen kann. Weiter hätte ich mir eine Tabelle mit allen Zielpfaden angelegt und XL selbst das Kopieren und Anpassen aufgehalst.
    Da ich nie mit Links arbeite muss ich passen inwiefern relative statt absolute Pfade eingesetzt werden können.

    CN8
    »Regen, Regen, gehe weg · verzieh’ dich an ’nen and’ren Fleck!« (nach Hägar, dem Schrecklichen)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •