Ich habe Zellen, in denen mehrere Werte eingetragen sind. Ein Zellinhalt sieht bspw. so aus:
100
200
300
Die Werte sind also alle in einer Zelle, jedoch per Umbruch voneinander getrennt.
Auf einem anderen Tabellenblatt habe ich genau zu diesen Zahlen Texte nach folgendem Aufbau:
100 | aaa
200 | bbb
300 | ccc
Spalte A hat die Zahlen, Spalte B den Text. Alles per Zeile voneinander getrennt.
Diese sollen nun per Makro die Zahlen ersetzen, sodass nach Abschluss des Makros folgendes in den Zellen steht:
aaa
bbb
ccc
Ich habe schon an der .Replace-Funktion herumgebastelt, welche auch ganz gut funktioniert. Ein Problem gibt es aber leider. Im Moment benutze ich folgendes Makro:
For i = 1 To UBound(abvtab)
datasheet.Cells.Replace What:=abvtab(i, 1), Replacement:=abvtab(i, 2), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
Next i
Dieses Makro findet und ersetzt. Jedoch nur den ersten übereinstimmenden Wert, den er findet. Bspw. findet er "100", aber bei "100f" gibt er trotzdem "100" aus. Ich dachte, ich könnte das umgehen, indem ich LookAt auf xlWhole verändere. Problem hier: Das funktioniert nicht, sobald mehrere Sachen gesucht werden sollen. Einzeln "100f" würde er so zuverlässig finden. Sobald aber 100f und 200 in der Zelle stehen, gibt er gar nichts mehr aus, weil diese ja so nicht existieren.
Fällt euch hier ein Workaround ein?