Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1332to1336
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suchen / ersetzen

Suchen / ersetzen
21.10.2013 19:40:04
Oezi
Hallo zusammen
Ich hab ein kleines Excel Problem und würde dies gerne mit einem VBA lösen. Leider kann ich kein VBA. Das Problem ist folgendes:
Ich habe eine Arbeitsballt (Tabelle 1) mit Text. In einem zweiten Arbeitsballt (Tabelle 2) habe ich in der Spalte A "Begriffe mit Sonderzeichen" und in der Spalte B "Begriffe ohne Sonderzeichen".
Mit einem Makro möchte ich nun, dass ein Begriff aus der Spalte A genommen wird, dieser in der Tabell 1 gesucht und dann mit dem Beriff aus Spalte B ersetzt wird. Dann Soll der nächsten Begriff in der Spalte A genommen werden, dieser in der Tabell 1 gesucht und dann mit dem Beriff nächsten Begriff aus Spalte B ersetzt werden.
Diese tätigkeit soll solange gemacht werden, bis alle Korrekturen erfolgt sind.
Hat jemand eine Lösung für diese Aufgabe?
Besten Dank im Voraus für Eure wertvolle Unterstützung!!

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen / ersetzen
21.10.2013 21:59:39
firmus
Hallo Oezi,
ich weiß nicht, ob ich Deine Problemstellung komplett verstanden habe.
Es geht darum die Sonderzeichen in einem Text durch entsprechende NICHT-Sonderzeichen zu ersetzen.
Deine Lösung: Begriff mit Sonderzeichen durch Begriff ohne Sonderzeichen ersetzen. ?
Angenommen Du willst z.B. die deutschen Ä,Ö,Ü,ä,ö,ü,ß durch überall lesbare Zeichen ersetzen.
Hier würde ich mit REPLACE "Ä' durch "AE" usw. arbeiten.
Ganz ausgeschliffen kannst Du mit einer 00-FF Tabelle jedes einzelne Bit (zeichen) anhand einer Referenz zulassen oder ersetzen. Hierfür hätte ich ein Muster.
Es ist jedoch eine VBA-Lösung - benötigte ich einmal für eine ähnliche Problemstellung.
Lass wissen, ob Dich dieser Ansatz interessiert.
Gruß
Firmus

Anzeige
AW: Suchen / ersetzen
21.10.2013 22:14:20
oezi
Hallo Firmus
Es geht eigentlich nicht nur um Sonderzeichen. Ich muss in der erwähnten Tabelle 1 auch noch andere Begriffe (z.B. abgekürze Wörter wie z.B. QM muss ich ausschreiben in Qualitätsmanagement). Ich habe jetzt einen VBA gebastelt, mit dem Aufnahmerecoder:
Selection.Replace What:="71 Change", Replacement:="71 Depositenkasse Change und sonstige Geldwechsel", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Der Nachteil ist, dass ich bei jedem Wort, dasa ich korrigieren möchte, den oben aufgeführten VBA in meinem Makro ergänzen muss. D.h. wenn im nächsten Jahr wieder Schreibfehler vorhanden sind möchte ich nicht wieder das Makro ändern müssen sonder nur die Spalte mit den fehlerhaften Begriffe aktualisieren. Das Makro soll dann in der Tabelle 1 diese fehlerhaften Begriffe durch die richtigen Begriffe ersetzten.
Ich weiss nicht, ob ich mein Problem verständlich beschreiben konnte? Wenn nicht, lass es mich wissen.

Anzeige
AW: Suchen / ersetzen
22.10.2013 08:49:36
GuentherH
Hallo oezi,
Du willst also eine nachträgliche Autokorrektur-Funktion
Gib Deiner Tabelle einen Namen: ErsetzTab
Dann geht

for each Zellchen in Range("Ersetztab").range("A:A").cells
if selection = Zellchen then
selection = Zellchen.offset(0,1)
exit for ' ein bisschen Geschwindigkeit
end if
next
Wenn in Deiner Ersetzungstabelle ein Eintrag hinzukommt brauchst Du dann nur den Bezug für den Namen "Ersetztab" entsprechend erweitern. Wenn Du zwischendrin Zeilen hizufügst, erfolt die Erweiterung sogar automatisch.
Das Makro muss für jede Zelle aufgerufen werden in der Ersetzungskandidaten stehen können.
Wo das ist, habe ich noch nicht erkannt.
Gruß,
Günther

Anzeige
AW: Suchen / ersetzen
25.10.2013 10:26:34
OEZI
Hallo Guenther
Besten dank für deine Antwort. Es ist korrekt, ich will etwas wie eine Autokorrektur implementieren. Allerdings habe ich dein Macro nicht ganz verstanden und kann es daher nicht ausprobieren.
Wie muss ich das konkret aufbauen. Was meinst du mit:
- Gib Deiner Tabelle einen Namen ErsetzTab: Soll ich hier eine Arbeitsmappe so bezeichnen (z.B. Tabell 1 heisst neu ErsetzTab) oder einem Bereich in einer Arbeitsmappe diese Namen geben (z.B. Bereich A1:G1000 heisst neu ErsetzTab)?
Was meinst du mit Zellechen bei diesem code: 'for each Zellchen in Range("Ersetztab").range("A:A").cells'
Vielleicht kann ich dir meine Problemstellung mit dem folgeden Input klarer aufzeigen:
Ich habe eine Arbeitsmappe mit Texten (z.B. Tabelle 1). In einer an zweiten Arbeitsmappe (z.B. Tabelle 2) habe ich in der Spalte A und Spalte B Wörter, die in der Tabelle 1 gesucht (Wort in Spalte A) und ersetzt (Wort in Spalte B) werden sollen.
Besten Dank und Gruss
OEZI

Anzeige
AW: Suchen / ersetzen
25.10.2013 14:10:03
GuentherH
Hallo Oetzi,
gemeint war "oder einem Bereich in einer Arbeitsmappe diese Namen geben "
in deinem Fall der Bereich "(z.B. Tabelle 2) habe ich in der Spalte A und Spalte B
habe das Makro erweitert, dass es alle markierten Zellen prüft.
https://www.herber.de/bbs/user/87807.xlsm
leider lief der erste Code nicht auf Anhieb, so dass Du kleine Unterschiede feststellen wirst :-(
Gruß,
Günther

AW: Suchen / ersetzen
25.10.2013 16:54:13
oezi
Hallo Guenther
Vielen Dank das du dir die zeit nimmst mir zu helfen.
Ich habe dein neues makro getestet. nun ist es so, dass das makro in der Tabelle2 die spalten A und B vergleicht und wenn diese nicht übereinstimmen, korrigiert es den wert in der Spalte A.
Das Macro soll aber das Wort in der Spalte A aus Tabelle 2 in der Tabelle 1 suchen und wenn in der Tabelle 1 das Wort gefunden wurde, diesen ersetzt und zwar mit dem Wort in der Spalte B aus Tabelle 2.

Anzeige
AW: Suchen / ersetzen
28.10.2013 08:22:19
GuentherH
Hallo Oetzi,
Das was Du beschreibst, passiert, wenn Du in Tabelle2 die Spalten A und B markierst, und dann das Makro startest.
Bitte folgende Reihenfolge:
die Zellen in denen die Ersetzungen vornehmen willst, markieren
Makro starten
Gruß,
Günther

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige