VBA: Zeichen auf bestimmter Position ersetzen.

Bild

Betrifft: VBA: Zeichen auf bestimmter Position ersetzen. von: Horst
Geschrieben am: 30.03.2005 12:46:14

Hallo liebe VBA-Erfahrene,
ich möchte ein bestimmtes Zeichen auf einer definierten Position eines Zelleninhaltes ersetzen.
Beispiel: Zellinhalt = A*CD*FG
Nur der rechte Stern soll durch ein anderes Zeichen ersetzt werden. Dabei steht dieser Stern immer an der selben Position (3. von rechts). Mögliche weitere Sterne in dem String sollen erhalten bleiben.
Die Prozedur soll auch für numerische Werte funktionieren.

Hat jemand einen Vorschlag, wie ich das am elegantesten löse?
Herzlichen Dank im Voraus.
Gruß,
Horst

Bild


Betrifft: AW: VBA: Zeichen auf bestimmter Position ersetzen. von: ANdreas
Geschrieben am: 30.03.2005 12:55:05

Hallo Horst,

hier mal ein Beispiel:


Sub ErsetzeStern()
Dim s$, c$
c = "x" ' das Zeichen, das für das * eingesetzt wird
With Range("A4") ' zu prüfende Zelle
    s = .Value
    If Len(s) >= 3 Then ' mind. 3 Zeichen lang
        ' Drittletztes Zeichen ein "*" ?
        If Mid(s, Len(s) - 2, 1) = "*" Then _
            .Value = Left(s, Len(s) - 3) & c & Right(s, 2) ' Ersetzen
    End If
End With
End Sub


Hoffe das hilft weiter,
Andreas


Bild


Betrifft: AW: VBA: Zeichen auf bestimmter Position ersetzen. von: u_
Geschrieben am: 30.03.2005 12:56:36

Hallo,
ganz einfach mit Textfunktionen.
neuerString=left(zellinhalt,len(zellinhalt)-3) &neuesZeichen &right(zellinhalt,2)

Gruß


Bild


Betrifft: AW: VBA: Zeichen auf bestimmter Position ersetzen. von: c0bRa
Geschrieben am: 30.03.2005 12:59:12

hallo...

wieso VBA?

=LINKS(A1;LÄNGE(A1)-3)&"[zeichen]"&RECHTS(A1;2) sollts auch tun ;)


Rückmeldung nicht vergessen...
c0bRa


Bild


Betrifft: AW: VBA: Zeichen auf bestimmter Position ersetzen von: Horst
Geschrieben am: 30.03.2005 23:14:17

Hallo liebe "Fragenbeantworter",
leider habe ich noch nicht die Zeit gefunden, alle Eure Vorschläge auszuprobieren. Ich werde in jedem Falle eine Rückmeldung geben.
Vorest vielen Dank für die Unterstützung.
Bis dann,
Horst


Bild


Betrifft: AW: VBA: Zeichen auf bestimmter Position ersetzen. von: Fritz
Geschrieben am: 30.03.2005 13:01:22

Hallo Horst,

Hier wird das "*" durch ein "+" ersetzt

Cells(x, x) = Left(Cells(x, x), Len(Cells(x, x)) - 3) & Replace(Right(Cells(x, x), 3), "*", "+")


 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA: Zeichen auf bestimmter Position ersetzen."