Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

mit VBA bestimmte Zeichen suchen und ändern

mit VBA bestimmte Zeichen suchen und ändern
08.10.2014 12:34:57
Kempel
Hallo zusammen, ich hab folgendes Problem:
im A1 in jeder Zelle habe ich texte mit manchmal mehr als 500 Zeichen.
Ich möchte mit hilfe VBA-Schleife Zelleninhalt prüfen und wenn text mehr als 500 Zeichnen hat und u.a. "abc" beinhalten, dann "abc" in "bca" ändern.
z.B.
A1 hat mehr als 500 Zeichen und "abc" beinhaltet, dann soll "abc" durch "bca" ersetzt werden
A2 hat mehr als 500 Zeichen und beinhaltet keine "abc", dann nichts machen
A3 hat weniger als 500 Zeichen, dann nichts machen
usw.
Hoffe auf eure Hilfe.
Grüße Andre

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit VBA bestimmte Zeichen suchen und ändern
08.10.2014 12:50:19
Daniel
Hi
folgende Formel in B1 oder eine freie Spalte und nach unten ziehen:
=Wenn(Und(IstZahl(Suchen("abc";A1));Länge(A1)>500);Wechseln(A1;"abc";"bca");A1)

Gruß Daniel

AW: mit VBA bestimmte Zeichen suchen und ändern
08.10.2014 13:05:14
UweD
Warum Istzahl und Suchen?
kürzer....
=WENN(LÄNGE(A1)>500;WECHSELN(A1;"abc";"bca");A1)
Gruß UweD

AW: mit VBA bestimmte Zeichen suchen und ändern
08.10.2014 13:31:25
Daniel
stimmt, ist natürlich überflüssig.
hab halt einfach nur die geforderten Bedingungen in der Formel umgesetzt.
Funktionieren wird trotzem.
Gruß Daniel

AW: mit VBA bestimmte Zeichen suchen und ändern
08.10.2014 12:59:38
UweD
Hallo Andre
so?
Sub abc()
On Error GoTo Fehler
Dim TB1, i%
Dim SP%, ZE&, LR&
Application.ScreenUpdating = False
Set TB1 = ActiveSheet
SP = 1 'Spalte A
ZE = 1 'ab Zeile
LR = TB1.Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
For i = 1 To LR
If Len(TB1.Cells(i, SP)) > 500 Then
TB1.Cells(i, SP) = Replace(TB1.Cells(i, SP), "abc", "bca")
End If
Next
Err.Clear
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err. _
Clear
End Sub
Gruß UweD

Anzeige
AW: mit VBA bestimmte Zeichen suchen und ändern
08.10.2014 17:41:05
Kempel
Vielen Dank Daniel!
Vielen Dank Uwe!
schleife funktioniert bestens!
nun wie kann ich mit dieser schleife "abc" am anfang des textes komplett löschen, wenn text mit "abc" beginnt?
z.B.
A1 hat mehr als 500 Zeichen und beinhaltet folgenden text:
abc abrakadabra abrakadabra abc ......abc
es soll sein:
abrakadabra abrakadabra bca ......bca
Grüsse Andre

AW: mit VBA bestimmte Zeichen suchen und ändern
09.10.2014 09:21:49
UweD
Hallo
TIPP:
Du musst bei weitern Fragestellungen das Häkchen aktivieren, damit Die Frage "offen" bleibt.
Zur Frage:
so...
Sub abc()
On Error GoTo Fehler
Dim TB1, i&
Dim SP%, ZE&, LR&, L%, TXT$
Application.ScreenUpdating = False
Set TB1 = ActiveSheet
SP = 1 'Spalte A
ZE = 1 'ab Zeile
LR = TB1.Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
For i = ZE To LR
TXT = TB1.Cells(i, SP)
L = Len(TXT)
If L > 500 Then
If Left(TXT, 3) = "abc" Then
TXT = LTrim(Right(TXT, L - 3))
End If
TB1.Cells(i, SP) = Replace(TXT, "abc", "bca")
End If
Next
Err.Clear
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err. _
Clear
End Sub
Das LTrim() löscht ein evtl. übrig gebliebenes führendes Leerzeichen.
LG UweD
Anzeige

332 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige