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

Forumthread: Suchen und Ersetzen mehrere Zeilen?

Suchen und Ersetzen mehrere Zeilen?
07.08.2021 10:58:41
Frank
Hallo Leute,
ich würde gerne mehrere Codezeilen, die auch noch unterschiedlich viele Zeilen beinhalten, gleichzeitig suchen und ersetzen im VBA-Editor
z.B.:
"calculate"
durch
Range("A1:R50000").Select
If TypeOf Selection Is Range Then Selection.Calculate
Wenn ich das probiere durch die Suchen und Ersetzen-Funktion kann ich immer nur eine Zeile ersetzen. Das ist hier nicht möglich, auch nicht nacheinander, da ja EINE Zeile ("calculate") durch ZWEI Zeilen ("Range... und 2. Zeile "If...) ersetzt werden sollen.
Hat da jemand eine Idee? Es muss doch möglich sein mit der Suchen und Ersetzen-Funktion mehr als eine Zeile gleichzeitig zu ersetzen oder muss man sich dafür ein Makro schreiben?
Vielen Dank!
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Suchen und Ersetzen mehrere Zeilen?
07.08.2021 11:17:12
GerdL
Moin Frank,
Selection macht im Regelfall in Excel-VBA nur Sinn, falls der Benutzer die zu bearbeitenden Zellen auswählen soll.
Ansonsten ja, das ist nicht unmöglich, aber aufwändig.
Einfacher ist es, den Code in ein Tabellenblatt zu kopieren, dort zu ändern u. in das VBA-Modul zurückzukopieren.
Gruß Gerd
Anzeige
Danke Gerd, Onur und Daniel!
07.08.2021 12:37:45
Frank
Hallo,
also Gerd's Idee das in ein Tabellenblatt zu kopieren und da zu ändern hat den Vorteil, dass man die ganze Sache per Makro schreiben kann, lohnt sich bei vielen gleichen Operationen. Genau das brauche ich.
Onur's Idee das in Word zu exportieren ist sehr gut wenn Du einen großen Code hast. Da es bei mir ca. 30 Module sind, ist die Lösung für mich nicht geeignet, aber klasse Tip mit der .bas Datei!
Natürlich hat Onur und Daniel recht, das ist doppelt gemoppelt und ich kann das ganze auf von
Range("A1:R50000").Select
If TypeOf Selection Is Range Then Selection.Calculate
auf
Range("A1:R50000").Calculate
reduzieren in dem Fall, da ich die Markierungen ausschließlich per Makro kennzeichne und berechne.
Daniel's Idee mit Alt + 010 etc. teste ich nochmal, vielen Dank!!
Anzeige
AW: Suchen und Ersetzen mehrere Zeilen?
07.08.2021 11:21:08
onur
Exportiere den Code als .bas und öffne ihn mit Word - da kannst du auch Sonderzeichen wie Zeilenumbruch miteinfügen.
AW: Suchen und Ersetzen mehrere Zeilen?
07.08.2021 11:24:20
onur
Abgesehen davon, dass Select völlig überflüssig ist, wenn du doch
Range("A1:R50000").Select
geschrieben hast, ist Selection ja wohl auf jeden Fall ein Range - oder?
AW: Suchen und Ersetzen mehrere Zeilen?
07.08.2021 11:55:59
Daniel
Hi
Das Problem ist, dass du den Zeilenumbruch in die Eingabezeile des Ersetzten-Assistenten eingeben musst, ohne die Eingabe abzuschließen.
An anderer Stelle funktioniert das dadurch, dass man die ALT-Taste gedrückt hält und den ASCII-Code der Zeilenumbruchs eintippt, das kann sein "010" oder "013" oder manchmal auch die Kombination "013" + "010".
Vielleicht auch Shift oder Alt+Enter wie in den Zellen.
Da musst du mal durchprobieren.
Vielleicht gehts auch, wenn du den Text irgendwo anders hinschreibst und dann mit Strg+C/+V übernimmst.
Alternativ kannst du auch mehrere Programmzeilen in eine Editorzeile packen, wenn du den Doppelpunkt dazwischen setzt, also

Range("A1:R50000").Select:  If TypeOf Selection Is Range Then Selection.Calculate
Dann brauchst keinen Zeilenumbruch im Ersetzen.
Die Anmerkungen zu deinem konkreten Code wurden ja schon gemacht.
1. ist die IF-Abfrage überflüssig, denn wenn du selber direkt vorher im Code was selektiert, sollte doch klar sein, was du da selektiert hast.
Diese Abfrage braucht man nur, wenn man die Selektion verwenden will, die der Anwender gemacht hat, bevor er das Makro gestartet hat, weil man dann nicht sicher sein kann, was selektiert wurde.
2. ist das Select generell überflüssig, weil man in VBA die Ojekte nicht selektieren muss, bevor man sie bearbeitet, sondern man kann auch den Befehl direkt an das Objekt anhängen.
(dass der Recorder das anders aufzeichnet, ist unserer Arbeitsweise mit der Maus geschuldet).
Also reicht:

Range("A1:R50000").Calculate
Und damit hättest du auch dein Problem mit den mehreren Zeilen vom Tisch.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Suchen und Ersetzen mehrerer Zeilen in Excel


Schritt-für-Schritt-Anleitung

Wenn Du mehrere Zeilen in Excel suchen und ersetzen möchtest, kannst Du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Navigiere zu dem Modul:

    • Wähle das Modul aus, in dem Du die Ersetzungen vornehmen möchtest.
  3. Verwende die Suchen und Ersetzen-Funktion:

    • Drücke STRG + H, um das Dialogfeld "Suchen und Ersetzen" zu öffnen.
  4. Gib den Suchtext ein:

    • Trage den Text ein, den Du ersetzen möchtest (z.B. "calculate").
  5. Gib den Ersetzungstext ein:

    • Hier kannst Du mehrere Zeilen eingeben. Um Zeilenumbrüche zu integrieren, halte die ALT-Taste gedrückt und tippe 010 oder 013 ein.
  6. Führe den Ersetzen-Befehl aus:

    • Klicke auf "Alle ersetzen", um die Ersetzungen für alle Vorkommen durchzuführen.

Um in mehreren Zeilen gleichzeitig zu schreiben, kannst Du auch den Doppelpunkt verwenden, um Zeilen zu kombinieren.


Häufige Fehler und Lösungen

  • Problem: Die Ersetzung funktioniert nicht wie gewünscht.

    • Lösung: Stelle sicher, dass Du die richtigen ASCII-Codes für den Zeilenumbruch verwendest. Teste sowohl ALT + 010 als auch ALT + 013.
  • Problem: Zu viele Zeilen wurden ersetzt.

    • Lösung: Überprüfe die Suchparameter und stelle sicher, dass Du nur die gewünschten Werte auswählst.
  • Problem: Der Suchen und Ersetzen Shortcut funktioniert nicht.

    • Lösung: Vergewissere Dich, dass Du im richtigen Modul bist und dass das Dialogfeld für Suchen und Ersetzen aktiv ist.

Alternative Methoden

Falls Du Schwierigkeiten mit der Suchen und Ersetzen-Funktion in Excel hast, kannst Du folgende alternative Methoden ausprobieren:

  1. Exportiere den Code als .bas-Datei:

    • Nutze Word, um den Code zu bearbeiten. Dort kannst Du Zeilenumbrüche einfacher einfügen.
  2. Kopiere den Code in ein Tabellenblatt:

    • Füge den Code in ein Excel-Arbeitsblatt ein, bearbeite ihn dort und kopiere ihn zurück in den VBA-Editor.
  3. Verwende Makros:

    • Schreibe ein Makro, das die Ersetzung für Dich automatisiert. Dies ist besonders nützlich, wenn Du viele gleiche Operationen durchführen musst.

Praktische Beispiele

Hier sind einige praktische Beispiele, die Dir helfen, die Suchen und Ersetzen-Funktion besser zu verstehen:

  • Einzeilige Ersetzung:

    Range("A1:R50000").Calculate
  • Mehrzeilige Ersetzung:

    Range("A1:R50000").Select: If TypeOf Selection Is Range Then Selection.Calculate
  • Ersetzung mit Zeilenumbruch:

    Range("A1:R50000").Select
    If TypeOf Selection Is Range Then Selection.Calculate

Durch die Verwendung des Doppelpunkts kannst Du mehrere Befehle in einer Zeile kombinieren, was die Notwendigkeit von Zeilenumbrüchen bei der Ersetzung eliminiert.


Tipps für Profis

  • Verwende die Suchen und Ersetzen-Funktion effizient: Nutze häufige Shortcuts, um Zeit zu sparen. STRG + H öffnet das Ersetzen-Fenster schnell.

  • Teste immer zuerst in einer Kopie der Datei: Bevor Du umfangreiche Änderungen vornimmst, arbeite an einer Kopie, um unerwünschte Änderungen zu vermeiden.

  • Nutze die Ersetzen-Funktion für mehrere Werte: Du kannst mehrere Werte in einem Durchgang ersetzen, indem Du die Werte in einer Liste zusammenstellst und die Suchen und Ersetzen-Funktion entsprechend anpasst.


FAQ: Häufige Fragen

1. Kann ich mehrere Werte gleichzeitig in Excel ersetzen?
Ja, Du kannst mehrere Werte in einem Durchgang ersetzen, indem Du die Suchen und Ersetzen-Funktion entsprechend anpasst und die Werte in einer Liste zusammenstellst.

2. Wie kann ich Zeilenumbrüche in Excel suchen und ersetzen?
Du kannst Zeilenumbrüche finden, indem Du ALT gedrückt hältst und dann den ASCII-Code für den Zeilenumbruch eingibst (entweder 010 oder 013).

3. Ist es möglich, in mehreren Zeilen gleichzeitig zu schreiben?
Ja, indem Du den Doppelpunkt (:) zwischen den Befehlen verwendest, kannst Du mehrere Zeilen in einer einzigen Zeile zusammenfassen.

4. Gibt es einen Shortcut für die Suchen und Ersetzen-Funktion?
Ja, der Shortcut STRG + H öffnet das Suchen und Ersetzen-Fenster in Excel schnell und effizient.

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