Excel VBA

Jakob2003

Newbie
Dabei seit
Mai 2019
Beiträge
5
Hallo,

Habe eine Excel Tabelle mit Hyperlinks die sich nicht öffnen lassen!
Müsste ein Makros machen wo es zB. (ganzer Pfad =" C:\Users\Max1\Desktop\temp\2019\prod\") | Nun möchte ich zB. "C:\Users\Max1" löschen um mit D:\Users\Test\Desktop\temp\2019\prod\" ersetzen! Das heißt ich möchte eigentlich das Laufwerk bzw in meinen Fall den Server wechseln und den User.

mfg Jakob
 
Hi, ginge das nicht mit einfachem Suchen von " C:\Users\Max1\" und Ersetzen mit " D:\Users\Test\Desktop\temp\2019\prod\" (aufpassen auf die korrekte Anzahl \)?
 
Nein leider nicht :D
Es ist nur in einer Spalte also Spalte 3 (C)
In einigen Hyperlinks passt der Link und in einigen halt nicht ;c
 
Ich habe ein kleines Makro gebaut, welches ich auch selbst einsetze. Es führt innerhalb der Adressen eine Ersetzung durch. Ich benutze es in erster Linie, um bei den Adressen Pfadangaben zu ersetzen (hier "c:\temp\" überall löschen), da ich diese, sofern einheitlich, nicht absolut angeben will (Portierbarkeit!). Falls alle Hyperlinkziele einheitlich sind, aber nicht im aktuellen Verzeichnis liegen, verwende ich entweder relative Pfade oder die Dokumenteigenschaft "Hyperlinkbasis" zur einheitlichen Gestaltung.

Code:
Sub Hyperlinks_ersetzen()
Dim hl As Hyperlink, vorher As String, ersetzt As Integer
Const ersetzen_was = "c:\temp\"
Const ersetzen_wodurch = ""
Debug.Print "Hyperlinks_ersetzen"
For Each hl In ActiveSheet.Hyperlinks
  vorher = hl.Address
  hl.Address = Replace(hl.Address, ersetzen_was, ersetzen_wodurch)
  If hl.Address <> vorher Then
    ersetzt = ersetzt + 1
    Debug.Print vorher & "|==>" & hl.Address
  Else
    Debug.Print hl.Address
  End If
Next hl
Debug.Print ersetzt & " von " & ActiveSheet.Hyperlinks.Count & " Hyperlinks wurden ersetzt."
End Sub
 
  • Gefällt mir
Reaktionen: PERKELE
Hey wenn ich das mit meinen Pfad ausführe, passiert null?
Was muss ich nochmachen?
Ergänzung ()

Ich möchte ja eigentlich von einen Hyperlink in Excel nur den vorderen teil ändern! z.B alter pfad : "C:\Users\jakob\Desktop\Test\temp\" und ich möchte "C:\Users\ mit "\\test1\op" ersetzen
 
Genau solche Sachen mache ich mit dem Makro. Allerdings müssen die Pfadangaben bei ersetzen was genau mit denen im Dialog übereinstimmen, nicht mit dem Pfad, der in den Sprechblasen angezeigt wird.
Was sagt denn dir Kontrollausgabe?
 
OK, wahrscheinlich hast du mit VBA wenig Erfahrung und auch bei den Hyperlinks bin ich mir nicht ganz sicher. Vielleicht kannst du ein Stück der Datei hier einstellen.
 
Also: Das Makro mit deinen verwendeten Ersetzungsbegriffen kannst du direkt hier einstellen, damit ich es prüfen kann.
Die Excel-Tabelle bräuchte ich schon als Excel-Datei. Mit "Ein Stück" meinte ich, dass du persönliche und sonstige vertrauliche Daten rauslöschen solltest und nur einen kleinen Bereich mit den besagten Hyperlinks übrig lassen solltest.
 
Zurück
Top