PDA

Vollständige Version anzeigen : Zeichenfolge in Zelle suchen und ersetzen / alte 4-stellig, neu 1-stellig


FrankAs
18.08.2017, 13:29
Ich habe in der Zelle in Spalte E folgenden Inhalt:

- verchromen mit 30$'b5m Auflageparpar}

Ich muss die Zeichenfolge $'b5 ersetzen durch µ
(aus einer 4-stelligen wird eine 1-stellige Zeichenfolge).

Der Rest des Feldes soll erhalten bleiben, so dass ich nach meiner Aufbereitung folgenden Zellinhalt - übertragen an Zelle in Spalte F - wiederfinden muss:

- verchromen mit 30µm Auflageparpar}

Kann mir jemand den Code dazu nennen?

Übrigens: Das $-Zeichen ist in meinem Original ein Backslash, aber der wird hier bei Anzeige des Forum-Beitrags eliminiert.
Ich hoffe doch, dass ich einen Lösungsvorschlag in VBA inkl. diesem Backslash umsetzen kann!?!

Das ist doch sicherlich recht einfach lösbar, oder?
Ich bin Neuling in Sachen VBA und `lerne` es erst, bin aber um die Lösung ziemlich verlegen.

Hajo_Zi
18.08.2017, 13:31
warum nicht Strg+H?

<img src="http://Hajo-Excel.de/images/grusz1.gif" align="middle" height="40" alt="Grußformel"><a href="http://Hajo-Excel.de/index.htm"><img border="0" src="http://Hajo-Excel.de/images/logo_hajo3.gif" align="middle" height="40" alt="Homepage"></a>

Silentwolf
18.08.2017, 13:35
Hallo,
http://www.denisreis.com/excel-vba-zeichen-ersetzen-mit-replace/

das wäre doch mal ein Ansatz für Dein Vorhaben oder?

mfg

Silentwolf

lupo1
18.08.2017, 18:12
So ersetzt man hier im Forum (aufgrund Unterdrückung, Forumsumstellung oder HTML-Kollision):

Backslash: \ (Ampersand Gartenzaun "92" Semikolon)
GrößerAls: &gt; (Ampersand "gt" Semikolon)
KleinerAls: &lt; (Ampersand "lt" Semikolon)

Die Anführungszeichen bitte nicht eingeben!

Achtung: Nach jeder Vorschau oder Änderung wird die "Ersetzung des Backslashes" (Maskierung) zum "Backslash" selbst, der dann bei der nächsten Vorschau oder Änderung folgerichtig erneut verschwindet! Aufgrund dieses Mangels der Maskierung kann man beim Schreiben dann auch gleich einfach zwei Backslashes hintereinander eingeben!

Das Problem der notwendigen Maskierung gibt es übrigens auch anderswo, zumindest bei Herber. Allerdings sind die Codes dann anders. Bei Herber lässt man das Semikolon weg, und betroffen sind dort nur &lt;&gt;.

FrankAs
20.08.2017, 17:43
Hallo Hajo,

die Idee ist ja sicher gut, aber: Meine Datei hat 64000 :entsetzt: Datensätze und in
jedem dieser Sätze habe ich diesen oder ähnlichen "Mist" stehen. Ich muss
das deshalb per VBA mittels Makro bzw. Funktion umsetzen, wo ich jede
mögliche Variante mit deren Umsetzung hinterlegen werde.

LG

Frank

FrankAs
20.08.2017, 17:48
Hallo Silentwolf,

perfekt. Ich dachte mir, das es recht einfach geht.
Vielen Dank! So werde ich das umsetzen können.

LG

Frank

Silentwolf
20.08.2017, 18:12
Hallo Frank,
na das freut mich das ich Dir helfen konnte!

Mfg
Silentwolf

FrankAs
21.08.2017, 06:35
Hallo nochmal,

wie muss der Code denn aussehen, wenn ich nur eine Spalte verarbeiten möchte (nur Spalte E, nicht alle Spalten).

Gruß
Frank

RPP63neu
21.08.2017, 06:56
Moin!
Die verlinkte Seite ist ein schönes Beispiel dafür, wie man es NICHT machen sollte!
Die Schleife ist - mit Verlaub - Schwachsinn.
Ich habe das dann auch auf der Seite kommuniziert, mal sehen, ob der Autor eine Antwort gibt.
Dafür nimmt man die Range.Replace-Methode, die das ohne Schleife erledigt.
https://msdn.microsoft.com/de-de/library/office/ff194086.aspx

Tabelle1.Columns("E").Replace "AlterText", "neuerText", xlPart
Gruß Ralf