Ersetzen von Zeichen an bestimmter Stelle
#21
Hallo André,

(21.01.2017, 15:18)schauan schrieb: Replace schneidet, wie ich es aus der Hilfe zitiert habe, die vorderen Zeichen vom String ab und bginnt dann mit der programmierten Stelle im String, hier 5.
nichts anderes habe ich behauptet. Wink

Ich habe nur nicht verstanden, warum Du die Replace-Funktion auch noch ins Spiel brachtest, denn sie ist ja vergleichbar mit der Excel-Funktion WECHSELN() bzw. Substitute: Replace - Substitute

Gruß Uwe
Top
#22
Geändert
Top
#23
Genau, Uwe (& André),
das habe ich auch aus deinem Beitrag herausgelesen! ;)
In der Hilfe zur Funktion Replace steht nämlich unter Anmerkung ganz zuletzt Folgendes:
Der Rückgabewert der Replace-Funktion ist eine Zeichenfolge, bei der Ersetzungen durchgeführt wurde, die an der von start festgelegten Position beginnt, und die am Ende der Zeichenfolge expression endet. Er stellt von Anfang bis Ende keine Kopie der Originalzeichenfolge dar.
(Blau-Hervorhebung inkl fett von mir!)
Demgegenüber funktioniert die Replace-Anweisung (-Methode) in 2 Varianten etwas anders. Aus der VBE-Hilfe (Xl14/2010) geht hier nicht hervor, ob bei der 2.Variante, die der Funktion stärker ähnelt, nur an bestimmter Position mit dem Ersetzen begonnen wird oder aber das Ergebnis auch nur ab dieser Position wiedergegeben wird.
Insofern ist sowohl Funktion als auch Methode weder mit der Xl-Funktion WECHSELN (.Substitute) noch mit ERSETZEN (.Replace) direkt vergleichbar, sondern eigenständig! Letzterer Xl-Funktion entspricht eher die Mid-Anweisung, deren Form etwas irritiert, da sie der allgemeinen VBA-Syntax zuwider­zulaufen scheint.
Gruß, Castor
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste