Es gibt vielleicht eine sehr einfache (allerdings wenig nachhaltige) Möglichkeit, wenn der Laufwerkbuchstabe K: künftig frei bliebe könnte man ihn als O:\Verkauf\Marketing\Preis definieren und die verlinkte Datei wäre dann sowohl als O:\Verkauf\Marketing\Preis\Variablen" als auch K:\Variablen ansprechbar (müssten aber alle die damit arbeiten einrichten)
oder wie schon angesprochen, du nimmst eine Liste der Dateien kopierst sie in eine Neue xlsm Excel Datei (angenommen Spalte A)
und arbeitest mit dem folgenden Code (natürlich zum Test mal mit einigen wenigen und davor gesicherten Dateien)
Option Explicit
Sub meneSchleife()
Dim i
i = 1
Do Until Cells(i, 1) = ""
Workbooks.Open Filename:=Cells(i, 1)
Call Linkanpassen
ActiveWorkbook.Save
ActiveWorkbook.Close
i = i + 1
Loop
End Sub
Sub Linkanpassen()
Dim mylink, newLink
newLink = "O:\Verkauf\Marketing\Preis\Variablen\Devisenkurse.xls"
On Error Resume Next
For Each mylink In ActiveWorkbook.LinkSources
If mylink = "K:\Variablen\Devisenkurse.xls" Then
ActiveWorkbook.ChangeLink Name:= _
mylink, NewName:= _
newLink, Type:=xlExcelLinks
End If
Next
End Sub
das wird dann für 14.000 Dateien allerdings schon eine schöne Zeit lang laufen (und das Speicherdatum ändert sich)
deswegen auch die Anmerkung beim vorherigen post es einen IT-Profi in der Frima mit powershell machen zu lassen
Alternativ könnte man den Code auch in ein Addin verpacken (und anpassen), sodass er eine Datei umlinkt sobald man sie öffnet (das müssten dann aber auch alle Nutzer aktivieren!)