VBA: Range.Replace-Methode in Excel 2007 und 2019
02.08.2019 16:07:27
Peter
die Range.Replace-Methode verhält sich in VBA bei Excel 2007 anders als bei Excel 2019.
Beispiel:
A1 Format: Text, Wert: @abc:123@
A2 Format: Text, Wert: @abc:123@
A3 Format: Text, Wert: @abc:123@
Sub Test()
Dim ws As Worksheet
Set ws = ThisWorkbook.ActiveSheet
ws.Cells.Replace What:="@abc:", Replacement:="@", LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False
End Sub
Das Ausführen des Makros bringt folgende Ergebnisse:Excel 2007: @abc:123@ - NOK
Excel 2019: @123@ - OK
Nach Anpassung des Replacements mit einem vorangestellten Hochkomma ("'@"):
Excel 2007: @123@ - OK
Excel 2019: '@123@ - NOK
Das Makro soll abwärtskompatibel sein. Alle Zellen des Blattes sollen als "Text" formatiert bleiben.
Viele Grüße
Peter