ich möchte in einer Liste via Makro mehrere Begriffe ersetzen.
Dazu möchte ich eine Zusätzliche Übersicht anlegen, in der steht, wie die einzelnen Begriffe verschlüsselt sein sollen.
Beispiel:
vorher: ...................... nachher:
Baum.......................... Zeile1
Auto............................ Zeile2
Haus........................... Zeile3
...
...
Boot............................ Zeile30
Ich habe mir überlegt dieses Makro einfach über den Rekorder aufzunehmen, allerdings müpsste ich die Ersetzungen alle manuell durchführen.
Da es möglich ist, dass die Liste ergänzt wird, möchte ich eine wie oben beschriebne Legende als Grundlage nutzen.
Mittlerweile bin ich dank der Hilfevon ede zu folgendem Code gekommen:
Sub umsetzen()
lz = Tabelle1.Cells(65536, 1).End(xlUp).Row
lz2 = Tabelle2.Cells(65536, 1).End(xlUp).Row
zs = 1 '
For i = 1 To lz
For x = 1 To lz2
If Tabelle2.Cells(x, 1) = Left(Tabelle1.Cells(i, 1), Len(Tabelle2.Cells(x, 1))) Then
'das alte abtrennen
Tabelle1.Cells(i, zs) = Mid(Tabelle1.Cells(i, 1), Len(Tabelle2.Cells(x, 1)) + 1)
' das neue hinzu
Tabelle1.Cells(i, zs) = Tabelle2.Cells(x, 2) & Tabelle1.Cells(i, zs)
End If
Next x
Next i
End Sub
es liegt hier eine Referenzliste auf dem 2. Tabellenblatt vor, mit der die tatsächliche Liste auf dem ersten Tabellenblatt abgeglichen werden kann.
Funktioniert soweit auch ganz gut, allerdings habe ich noch folgendes Problem:
Wenn ich die Ersetzung durchführe und die Begriffe durch Leerzeichen getrennt sind, dann prüft Excel irgendwie nur das erste Wort!
Also wenn ich zum Beispiel in der Liste:
Baum
Baum Haus
Baum Krone
mit den Definitionen
Zeile1
Zeile2
Zeile3
habe, dann bekomme ich als Ergebnis
Zeile1
Zeile1 Haus
Zeile1 Krone
kann ich das irgendwie umgehen?
Grüße
Pascal