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

Werte ersetzen: alles ausser x

Forumthread: Werte ersetzen: alles ausser x

Werte ersetzen: alles ausser x
31.01.2007 13:12:25
mtremer
Hallo Excel-Freunde,
ich habe eine Frage, die Ihr bestimmt beantworten könnt.
Mit folgendem Code suche und ersetze ich in einem bestimmten Bereich alle "Moin" in "Hallo":
Range("B18:C317").Select
Selection.Replace What:="Moin", Replacement:="Hallo", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Wie kann ich den Code umschreiben, sodass alles ausser "Guten Tag" in "Hallo" geändert wird?
Ich tue mich nämlich schwer, jede einzelne Begrüßung mit einem eigenen Befehl zu versehen...
Danke für Eure Mühe.
Viele Grüße
Marco
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte ersetzen: alles ausser x
31.01.2007 13:19:26
haw
Hallo Marco,
dein Vorhaben kann so nicht funktionieren, denn du ersetzt eine Zeichenfolge durch eine andere. Wenn du "alles" durch Hallo ersetzt, bleibt ja nur noch Hallo übrig, oder?
Du kommst nicht umhin, alle Zeichenfolgen aufzuführen, die durch Hallo zu ersetzen sind.
Z.B. so:

Sub Ersetzen()
Dim Gruß(1 To 3) As String, i%
Gruß(1) = "Moin"
Gruß(2) = "Hello"
Gruß(3) = "Hi"
For i = 1 To 3
Range("B18:C317").Replace What:=Gruß(i), Replacement:="Hallo", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next i
End Sub

Gruß Heinz
Anzeige
Danke
31.01.2007 14:14:33
mtremer
Hallo Heinz,
danke Dir. Das ist für mich aber auch schon eine Abkürzung.
Ich hätte ansonsten jedes Mal den Code neu geschrieben (3 Zeilen für jeden Gruß)...
;-)
Viele Grüße
Marco
;
Anzeige

Infobox / Tutorial

Werte ersetzen: alles außer x in Excel


Schritt-für-Schritt-Anleitung

Um in Excel Werte zu ersetzen und dabei alles außer einer bestimmten Zeichenfolge zu ändern, kannst du den folgenden VBA-Code verwenden. Dieser Code ersetzt verschiedene Begrüßungen durch "Hallo", lässt aber "Guten Tag" unberührt.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Sub Ersetzen()
    Dim Gruß(1 To 3) As String, i%
    Gruß(1) = "Moin"
    Gruß(2) = "Hello"
    Gruß(3) = "Hi"

    For i = 1 To 3
        Range("B18:C317").Replace What:=Gruß(i), Replacement:="Hallo", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Next i
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Führe das Makro aus, indem du auf Entwicklertools > Makros klickst und das Ersetzen-Makro auswählst.

Häufige Fehler und Lösungen

  • Fehler: "Der Code funktioniert nicht wie erwartet."

    • Lösung: Stelle sicher, dass der Code in einem Modul und nicht in einem Arbeitsblatt oder einer Arbeitsmappe eingefügt wurde. Überprüfe auch, ob der Bereich "B18:C317" korrekt ist.
  • Fehler: "Ich sehe keine Änderungen in meinem Dokument."

    • Lösung: Vergewissere dich, dass die Werte in den Zellen tatsächlich den Begriffen entsprechen, die du ersetzen möchtest. Achte auf Groß- und Kleinschreibung, da MatchCase standardmäßig auf False gesetzt ist.

Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, kannst du auch die integrierte "Suchen und Ersetzen"-Funktion in Excel nutzen:

  1. Markiere den Bereich, in dem du die Werte ersetzen möchtest.
  2. Drücke Strg + H, um das Suchen und Ersetzen-Fenster zu öffnen.
  3. Gib die Begrüßung, die ersetzt werden soll, in das Feld "Suchen nach" ein.
  4. Gib "Hallo" in das Feld "Ersetzen durch" ein und klicke auf "Alle ersetzen".

Diese Methode ist jedoch weniger flexibel, wenn du mehrere Begrüßungen gleichzeitig ersetzen möchtest.


Praktische Beispiele

Angenommen, du hast die folgende Liste in deinem Excel-Dokument:

Spalte B Spalte C
Moin Hello
Guten Tag Hi
Moin Hi
Guten Tag Moin

Nach dem Ausführen des Makros wird die Liste wie folgt aussehen:

Spalte B Spalte C
Hallo Hallo
Guten Tag Hallo
Hallo Hallo
Guten Tag Hallo

Tipps für Profis

  • Verwende Arrays, um den Code effizienter zu gestalten, insbesondere wenn du mit vielen verschiedenen Begriffen arbeitest.
  • Du kannst den Code erweitern, indem du mehr Begrüßungen zu dem Array hinzufügst, ohne den gesamten Such- und Ersetzprozess manuell zu wiederholen.
  • Denke daran, deine Arbeitsmappe regelmäßig zu speichern, bevor du VBA-Makros ausführst, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich auch mehr als nur Begrüßungen ersetzen? Ja, du kannst den Code anpassen, um beliebige Begriffe zu ersetzen, indem du einfach die Begriffe im Array änderst.

2. Funktioniert dieser Code in älteren Excel-Versionen? Der VBA-Code sollte in den meisten modernen Excel-Versionen (wie Excel 2010 bis 2021) funktionieren. Achte darauf, dass du den richtigen Bereich angibst. In älteren Versionen kann es zu Anpassungen kommen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige