Service: Excel-VBA: Zellinhalte durch andere Zellinhalte ersetzen

In einem Exel-Forum wurde folgende Frage gestellt:

Ich habe eine Zelle in der ein Code steht z.B. 001-S-60.
In einer vollkommen anderen Tabelle sind alle diese Codes enthalten aber als Hyperlinks.
Nun bin ich auf der Suche nach einem VBA code,
der diesen Code (z.B. 001-S-60) in der "Hyperlink" Tabelle findet und den orginalen Code mit dem "Hyperlink" Code ersetzt.

Die Lösung:
Public Sub ReplaceStringsInRange(ByRef targetRange As Range, ByRef sourceRange As Range)

    Dim targetCell As Range
    Dim sourceCell As Range

    For Each targetCell In targetRange
        For Each sourceCell In sourceRange
            If sourceCell.Text Like "*" & targetCell.Text & "*" Then
                targetCell.Value = sourceCell.Value
                Exit For
            End If
        Next
    Next

End Sub

Dabei ist der erste Aufrufparameter der Funktion der Bereich eines beliebigen Arbeitsblattes in dem die Codes stehen (also z. B. '001-S-60').

Der zweite Aufrufparameter der Funktion ist der Bereich eines beliebigen (anderen) Arbeitsblattes in dem die dazugehörigen Hyperlinks stehen (also z. B. 'www.meinweb.de/produkte/001-S-60.htm').

Hinweise

Das Ganze funktioniert natürlich auch für jede beliebige andere Zeichenkettenkombination, die nichts mit Hyperlinks und Codes zu tun hat.

Arbeitsmappe mit vollständigem Beispielcode


Ergebnis: vollständig vordefinierte Routine mit Fehlerbehandlung Interessant für Sie:

VBA-Extentions-Tools

Produktivität in VBA steigern
Routinearbeiten in VBA vereinfachen



Seitenanfang

Kontaktaufnahme- und Terminvereinbarung:

Bei Fragen und für Terminvereinbarungen erreichen Sie uns unter:

0 63 49 99 07 38

0 151 51 95 34 00

Oder nutzen Sie das Kontaktformular




Ihr Ansprechpartner:


Hier sollte das Fahnungsfoto zu sehen sein.

Ralf Kunsmann

Spezialist für VBA-Programmierung
(alle Office-Anwendungen)
Entwickler der
VBA-Extension-Tools