Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1512to1516
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pfad mit vba ändern

Pfad mit vba ändern
15.09.2016 11:47:45
Alisa
Hallo Zusammen,
schon seit einer Woche kämpfe ich mit diesem vba-Code und kriege leider keine Lösung. Ich wäre Euch sehr dankbar wenn jemand mir helfen könnte.
Das Problem sieht folgendes aus: Ich habe mehrere Dateien die auf dem Soonr Workplace abgelegt sind. Ich brauche eine Summendatei die einzelne Arbeitsblätter verknüpft. Z.B:
[...]Summe_07.xlsx
[...]Summe_08.xlsx
und die Summendatei. Die Verknüpfung funktioniert ganz gut, solange ich mit den Dateien arbeite. ABER jeder anderer der den Zugriff auf diese Dateien hat, hat einen anderen Pfad und somit kann die Verknüpfungen nicht aktualisiert werden.
Zum Verständnis, das ist der Link zu der Datei:
='C:\Users\agal\Soonr Workplace\...\Reporting_07.xlsx]Summe_07'!$D$6
Ich brauche, dass der VBA mir anstatt "agal" den UserName schreibt und somit den Pfad ändert. Und die Dateien aktualisiert.
Hier ist mein Versuch, aber das funktioniert leider nicht.
  • 
    Sub ErsetzeAlleHyperlink()
    Dim alteLink As String
    Dim neueLink As String
    Dim strUser As String
    Dim myLink As Hyperlink
    strUser = Environ("Username")
    For i = 1 To Sheets.Count
    Sheets(i).Activate
    For Each Zelle In ActiveSheet.UsedRange
    ' Achtung: Groß/Kleinschrift beachten, ist für das Ersetzen wichtig
    alteLink = "C:\Users\agalitcaia\"
    neueLink = "C:\Users\strUser\"
    ' durch alle Hyperlinks im Blatt laufen, Blattname muss angepasst werden
    For Each myLink In ActiveSheet.Hyperlinks
    ' und in der Adresse des Links den Teil alt gegen neu tauschen
    myLink.Address = Replace(myLink.Address, alteLink, neueLink)
    Next
    Next
    Next
    End Sub
    

  • Woran kann es liegen dass die Link nicht ersetzt werden?
    Vielen Dank im Voraus!!!
    Viele Grüße, Alisa

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Pfad mit vba ändern
    15.09.2016 11:53:26
    Luschi
    Hallo Alisa,
    so sollte es klappen:
    neueLink = "C:\Users\" & strUser & "\"
    Gruß von Luschi
    aus klein-Paris
    AW: Pfad mit vba ändern
    15.09.2016 12:04:04
    Alisa
    Hallo Luschi,
    danke für deine schnelle Antwort.
    Es funktioniert aber trotzdem nicht. Die Linkersetzung funktioniert nicht. Wenn ich allgemein nicht mit UserName sondern mit "xxx" die Name ändere, bleibt trotzdem die alte Name. VBA greift nicht auf das Link.
    alteLink = "C:\Users\agalitcaia\"
    neueLink = "C:\Users\xxx\"
    Grüßi
    Alisa
    AW: Pfad mit vba ändern
    19.09.2016 13:41:33
    Alisa
    Kann mir vielleicht doch jemand helfen? Ich finde keine andere Lösung. Bitte!
    AW: Pfad mit vba ändern
    19.09.2016 14:06:26
    Rudi
    Hallo,
    ='C:\Users\agal\Soonr Workplace\...\Reporting_07.xlsx]Summe_07'!$D$6
    ist doch kein Hyperlink sondern eine einfache Verknüpfung.
    Die musst du über die ChangeLink-Methode ändern.
    Teste mal:
    Sub Change_Link()
    Dim aLinks, i As Integer, sLink As String, arrTmp
    aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
    For i = 1 To UBound(aLinks)
    sLink = aLinks(i)
    arrTmp = Split(sLink, "\")
    If arrTmp(1) = "Users" Then
    arrTmp(2) = Environ("Username")
    ActiveWorkbook.ChangeLink sLink, Join(arrTmp, "\"), xlExcelLinks
    End If
    Next i
    End Sub
    
    Gruß
    Rudi
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige