HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: Zeichen auf bestimmter Position ersetzen.

VBA: Zeichen auf bestimmter Position ersetzen.
30.03.2005 12:46:14
Horst
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

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Benutzer
AW: VBA: Zeichen auf bestimmter Position ersetzen.
30.03.2005 12:55:05
ANdreas
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
AW: VBA: Zeichen auf bestimmter Position ersetzen.
30.03.2005 12:56:36
u_
Hallo,
ganz einfach mit Textfunktionen.
neuerString=left(zellinhalt,len(zellinhalt)-3) &neuesZeichen &right(zellinhalt,2)
Gruß
AW: VBA: Zeichen auf bestimmter Position ersetzen.
30.03.2005 12:59:12
c0bRa
hallo...
wieso VBA?
=LINKS(A1;LÄNGE(A1)-3)&"[zeichen]"&RECHTS(A1;2) sollts auch tun ;)

Rückmeldung nicht vergessen...
c0bRa
AW: VBA: Zeichen auf bestimmter Position ersetzen
30.03.2005 23:14:17
Horst
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
AW: VBA: Zeichen auf bestimmter Position ersetzen.
30.03.2005 13:01:22
Fritz
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), "*", "+")

Meistgelesene Forumthreads (12 Monate)