Verknüpfung per Makro ändern in Excel
Schritt-für-Schritt-Anleitung
Um die Verknüpfungen in Excel per Makro zu ändern, kannst du die folgenden Schritte ausführen:
-
Makro erstellen: Öffne die Excel-Datei, in der du die Verknüpfungen ändern möchtest. Drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Neues Modul hinzufügen: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle "Einfügen" > "Modul".
-
Code eingeben: Füge den folgenden Code in das Modul ein:
Sub Change_Link_Zellbereich()
Dim myLinks As Variant
Dim NewSource As String, NewFile As String
Dim OldSource As String
Dim i As Integer
Dim x As Long
If MsgBox("Neues Projekt anlegen?", vbYesNo + vbQuestion) = vbNo Then
MsgBox "Abbruch"
Exit Sub
End If
myLinks = ThisWorkbook.LinkSources
For i = 1 To UBound(myLinks)
If i = 1 Then
OldSource = CStr(myLinks(i))
x = InStrRev(OldSource, "\")
OldSource = Left(OldSource, x) & "[" & Mid(OldSource, x + 1) & "]"
NewFile = Application.GetOpenFilename(Title:="Ersetze " & Mid(OldSource, x + 1) & " durch:")
End If
x = InStrRev(NewFile, "\")
NewSource = Left(NewFile, x) & "[" & Mid(NewFile, x + 1) & "]"
ThisWorkbook.Sheets("Tabelle1").Range("C6:Y16").Replace OldSource, NewSource, xlPart
Next
End Sub
-
Makro ausführen: Schließe den VBA-Editor und kehre zu Excel zurück. Drücke ALT + F8
, wähle das Makro Change_Link_Zellbereich
aus und klicke auf Ausführen
.
-
Datei auswählen: Ein Dialog öffnet sich, in dem du die neue Quelldatei auswählen kannst. Das Makro ändert nun die Verknüpfungen im Bereich C6:Y16.
Häufige Fehler und Lösungen
-
Fehler: Mehrfachabfragen nach der Datei: Du wirst möglicherweise mehrmals nach der neuen Datei gefragt. Dies kann darauf zurückzuführen sein, dass mehrere Links in verschiedenen Dateien existieren. Achte darauf, in der Schleife nur beim ersten Link nach der neuen Datei zu fragen.
-
Lösung: Überprüfe den Code und stelle sicher, dass die Abfrage nur einmal erfolgt, indem du eine Bedingung für i = 1
verwendest.
Alternative Methoden
Falls du keine VBA-Programmierung verwenden möchtest, kannst du die Verknüpfungen auch manuell ändern. Gehe dazu zu:
- Daten > Verknüpfungen bearbeiten
- Wähle die gewünschte Quelle und klicke auf "Quelle ändern".
Praktische Beispiele
Hier ist ein Beispiel für das Ersetzen einer Quelle in einer Formel:
Range("C6:Y16").Replace What:="alter\Pfad\[alter_Dateiname.xlsm]", _
Replacement:="neuer\Pfad\[neuer_Dateiname.xlsm]", lookat:=xlPart
Mit dieser Methode kannst du die Excel-Verknüpfungen schnell und effizient ändern.
Tipps für Profis
- Nutze die
Find
-Methode, um gezielt nach bestehenden Links zu suchen, bevor du eine neue Datei auswählst.
- Implementiere Fehlerbehandlungen in deinem VBA-Code, um die Benutzerfreundlichkeit zu erhöhen.
- Halte deine Makros gut dokumentiert, damit du oder andere Benutzer sie in der Zukunft leichter anpassen können.
FAQ: Häufige Fragen
1. Wie kann ich die Excel-Quelle ändern, ohne das gesamte Makro zu ändern?
Du kannst die Change_Link
-Funktion anpassen, um nur bestimmte Zellbereiche zu aktualisieren.
2. Was passiert, wenn die alte Datei nicht gefunden wird?
Das Makro wird versuchen, die Verknüpfung zu ändern, aber es kann zu Fehlern kommen, wenn die Datei nicht vorhanden ist. Implementiere eine Fehlerbehandlung im Code, um dies abzufangen.
3. Kann ich das Makro für andere Zellbereiche anpassen?
Ja, ändere einfach den Zellbereich in ThisWorkbook.Sheets("Tabelle1").Range("C6:Y16")
auf den gewünschten Bereich.
4. Wie oft sollte ich meine Makros testen?
Es ist ratsam, deine Makros regelmäßig zu testen, besonders nach Änderungen, um sicherzustellen, dass sie wie gewünscht funktionieren.
5. Gibt es Einschränkungen bei der Verwendung von VBA?
Ja, einige Excel-Versionen oder -Einstellungen können die Ausführung von Makros einschränken. Stelle sicher, dass Makros in den Excel-Einstellungen aktiviert sind.