Kerstine hat ein Arbeitsblatt mit vielen, vielen verschiedenen Hyperlinks. Sie fragt sich, ob es eine Möglichkeit gibt, nur einen Teil jedes Links zu ersetzen.

Zum Beispiel möchte sie möglicherweise eine Instanz von http://www.mysite.com/ in c: / documents / mycopy / ändern. Wenn die Links etwas Zusätzliches enthalten, sollte dieser Teil erhalten bleiben. Wenn der ursprüngliche Link beispielsweise http://www.mysite.com/thispage.html lautet, wird er in c: /documents/mycopy/thispage.html geändert.

Dies kann leicht mit einem Makro durchgeführt werden. Der Grund dafür ist, dass die Hyperlinks mithilfe regulärer Zeichenfolgenfunktionen überprüft und geändert werden können.

Das folgende Makro bietet eine einfache Möglichkeit, das Problem zu beheben.

Sub EditHyperlinks()

Dim lnkH As Hyperlink     Dim sOld As String     Dim sNew As String

sOld = "http://www.mysite.com"

sNew = "c:/documents/mycopy/"



For Each lnkH In ActiveSheet.Hyperlinks         lnkH.Address = Replace(lnkH.Address, sOld, sNew)

lnkH.TextToDisplay = Replace(lnkH.TextToDisplay, sOld, sNew)

Next End Sub

Diese Routine durchläuft alle Hyperlinks im aktuellen Arbeitsblatt und nimmt bei Bedarf Änderungen an jedem einzelnen vor. Sowohl der Hyperlink als auch der angezeigte Text werden entsprechend geändert. Sie müssen lediglich Änderungen an den Zeichenfolgen sOld und sNew vornehmen, um anzugeben, wonach Sie suchen und durch was Sie sie ersetzen möchten.

Sie sollten beachten, dass dieses Makro die Funktion Ersetzen verwendet, die in späteren Versionen von VBA integriert ist. Wenn Sie eine ältere Version verwenden, die die Ersetzungsfunktion nicht enthält (Sie wissen, dass beim Versuch, das Makro zu drehen, eine Fehlermeldung angezeigt wird), müssen Sie eine eigene Ersetzungsfunktion erstellen, die einen Teil von a ersetzt String mit einem anderen. Solche Funktionen wurden in anderen Ausgaben von ExcelTips.

behandelt _Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (3358) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: