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

Bestimmten Text einer Zelle ersetzen

Forumthread: Bestimmten Text einer Zelle ersetzen

Bestimmten Text einer Zelle ersetzen
29.10.2014 10:50:01
Muehli

Guten Morgen,
ich habe eine kurze Frage:
Form meiner Tabelle:
|SpalteA|
|Wort Wort Wort|
|Wort Wort Wort [beliebig viele Leerzeichen] F(#####)|
|Wort Wort [beliebig viele Leerzeichen]F(#####)|
|Wort|
|Wort Wort|
Wie kann ich es nun realisieren, wenn ich den Ausdruck "F(#####)" in der kompletten Spalte durch den Ausdruck "Test" ersetzt haben möchte?
Bsp:
|SpalteA|
|Wort Wort Wort|
|Wort Wort Wort [beliebig viele Leerzeichen] Test|
|Wort Wort [beliebig viele Leerzeichen] Test|
|Wort|
|Wort Wort|
Anmerkung:
Der Ausdruck "F(#####)" sieht immer so aus, ist also keine Variable.
Freundliche Grüße
Muehli

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Dann mit WECHSELN ! Gruß owT
29.10.2014 10:55:28
Luc:-?
:-?

AW: Dann mit WECHSELN ! Gruß owT
29.10.2014 11:24:29
Muehli
Hallo Luc,
danke für deine Antwort!
Ich habe es mal so versucht:
Private Sub CommandButton1_Click()
Dim i As Long
Dim TxtZelle As String
i = 1
For i = 1 To 1000
TxtZelle = Range("A" & i).Text
Range("A" & i).FormulaLocal = "=WECHSELN(TxtZelle;""F(#####)"";""Test"")"
Next i
End Sub
Aber es führt leider nicht zum gewünschten Ergebnis.
Ist mein Code totaler Murks oder ist es nur eine Kleinigkeit die fehlt?
Freundliche Grüße
Muehli

Anzeige
AW: Dann mit WECHSELN ! Gruß owT
29.10.2014 11:24:29
Muehli
Hallo Luc,
danke für deine Antwort!
Ich habe es mal so versucht:
Private Sub CommandButton1_Click()
Dim i As Long
Dim TxtZelle As String
i = 1
For i = 1 To 1000
TxtZelle = Range("A" & i).Text
Range("A" & i).FormulaLocal = "=WECHSELN(TxtZelle;""F(#####)"";""Test"")"
Next i
End Sub
Aber es führt leider nicht zum gewünschten Ergebnis.
Ist mein Code totaler Murks oder ist es nur eine Kleinigkeit die fehlt?
Freundliche Grüße
Muehli

Anzeige
AW: Makrorecorder
29.10.2014 11:43:31
hary
Moin
Fuer so'ne Faelle gibt es den Makrorecorder. Blattname anpassen.
worksheets("Tabelle1").Columns("A:A").Replace What:="F(#####)", Replacement:="Test", LookAt:=xlPart, SearchOrder:=xlByRows

gruss hary

Suchen + Ersetzen
29.10.2014 11:46:45
Matthias L
Hallo
Das geht doch auch ohne VBA
mit Strg+H Dialog aufrufen
Userbild
alle ersetzen - das wars schon ...


so siehts dannach aus:
Tabelle1

Anzeige
Substitute
29.10.2014 11:51:19
Matthias L
Hallo
Noch eine Variante
Dim TxtZelle$, TauschTxt$, NewTxt$
TxtZelle = Range("A2").Value
TauschTxt = "F(#####)|"
NewTxt = "Test"
Range("A4").Formula = Application.WorksheetFunction.Substitute(TxtZelle, TauschTxt, NewTxt)


Ergebnis:
Das ist dann ja wohl auch von 'hinten durch ...
29.10.2014 11:52:15
Luc:-?
…die Brust geschossen', Muehli,
obwohl es auch fktionieren würde, wenn du beachtet hättest, dass TxtZelle jetzt einen Text enthält, den die Fml aber ohne entsprd Kennzeichnung als (fehlerhaften) Namen interpretieren würde. Außerdem hast du den VariablenNamen direkt in die Fml einbezogen (diesen Namen kennt deine XlMappe nicht!), nicht ihren Inhalt! Richtig wäre also:
"=WECHSELN(""" & TxtZelle & """;""F(#####)"";""Test"")"
Aber das kann man auch einfacher haben:
Range("A" & i) = Replace(TxtZelle, "F(#####)", "Test")
Gruß, Luc :-?

Anzeige
AW: Bestimmten Text einer Zelle ersetzen
29.10.2014 11:45:26
Uwe Küstner
Hallo,
Private Sub CommandButton1_Click()
ActiveCell.Activate
Me.Columns(1).Replace What:="F(#####)", Replacement:="Test", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
End Sub
Gruß Uwe

AW: Bestimmten Text einer Zelle ersetzen
29.10.2014 13:02:16
Muehli
Hallo Uwe,
danke für die Antwort!
Funktioniert super!
Allen Anderen auch ein Dankeschön für die Mühe :)
Gruß
Muehli

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Bestimmten Text einer Zelle ersetzen in Excel


Schritt-für-Schritt-Anleitung

Um den Text "F(#####)" in einer Excel-Spalte durch "Test" zu ersetzen, kannst Du entweder eine einfache Formel verwenden oder ein VBA-Makro, das die Aufgabe automatisiert. Hier sind die Schritte für beide Methoden:

1. Mit WECHSELN-Funktion:

Du kannst die WECHSELN-Funktion nutzen, um den Text zu ersetzen. Gehe wie folgt vor:

  1. Klicke in die Zelle B1 (oder eine andere Zelle, wo das Ergebnis erscheinen soll).

  2. Gib die folgende Formel ein:

    =WECHSELN(A1;"F(#####)";"Test")
  3. Ziehe den kleinen Anfasser in der unteren rechten Ecke der Zelle nach unten, um die Formel auf die anderen Zellen in der Spalte anzuwenden.

2. Mit VBA-Makro:

Falls Du ein VBA-Makro verwenden möchtest, um den Text in der gesamten Spalte A zu ersetzen, mache Folgendes:

  1. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf "Einfügen" > "Modul".

  3. Füge den folgenden Code ein:

    Sub ZelleninhaltErsetzen()
       Dim i As Long
       For i = 1 To 1000
           Cells(i, 1).Value = Replace(Cells(i, 1).Value, "F(#####)", "Test")
       Next i
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus (ALT + F8 > Wähle ZelleninhaltErsetzen und klicke auf "Ausführen").


Häufige Fehler und Lösungen

  • Fehler: Die WECHSELN-Funktion gibt einen Fehler zurück.

    • Lösung: Stelle sicher, dass der Text "F(#####)" exakt in der Zelle vorhanden ist. Achte auf zusätzliche Leerzeichen.
  • Fehler: Das VBA-Makro funktioniert nicht.

    • Lösung: Überprüfe, ob die Zellen in Spalte A tatsächlich Text enthalten und dass das Makro auf die richtige Arbeitsmappe angewendet wird.

Alternative Methoden

  • Suchen und Ersetzen Dialog: Du kannst den Dialog für "Suchen und Ersetzen" verwenden, indem Du Strg + H drückst. Gib "F(#####)" in das Feld „Suchen nach“ und "Test" in das Feld „Ersetzen durch“ ein. Klicke auf „Alle ersetzen“.

  • VBA mit Worksheets.Replace: Eine andere VBA-Methode wäre:

    Worksheets("Tabelle1").Columns("A:A").Replace What:="F(#####)", Replacement:="Test", LookAt:=xlPart

Praktische Beispiele

  1. Beispiel mit WECHSELN:

    • Wenn in Zelle A1 steht: Wort Wort F(12345), wird nach Anwendung der Formel in B1: Wort Wort Test angezeigt.
  2. Beispiel mit VBA:

    • Wenn du das VBA-Makro ausführst, wird jede Zelle in Spalte A, die „F(#####)“ enthält, durch „Test“ ersetzt.

Tipps für Profis

  • Nutze die Replace-Funktion, um den Text effizienter in VBA zu ersetzen, da sie weniger Code benötigt und schneller ausgeführt wird.

  • Du kannst auch die Application.WorksheetFunction.Substitute-Methode verwenden, um Text in einer Zelle zu ersetzen, was besonders nützlich ist, wenn Du auf spezifische Zellen zugreifen möchtest.


FAQ: Häufige Fragen

1. Frage
Wie kann ich mehrere unterschiedliche Texte gleichzeitig ersetzen?
Antwort
Du kannst mehrere Replace-Befehle hintereinander im VBA-Makro nutzen oder die WECHSELN-Funktion mehrfach schachteln.

2. Frage
Funktioniert das auch in Excel Online?
Antwort
Die WECHSELN-Funktion funktioniert auch in Excel Online, jedoch sind VBA-Makros nicht verfügbar. Nutze stattdessen den Dialog für Suchen und Ersetzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige