Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
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

Ersetzen von Zellinhalten per VBA

Ersetzen von Zellinhalten per VBA
01.09.2021 12:44:18
Zellinhalten
Wieder einmal grüße ich die Freunde von Excel und Meister der Formeln. Wieder einmal habe ich eine Frage, die hinabführen wird in die dunkelsten Mysterien dieser Kunst, nur um die Lösung dann ans Licht zu zerren.
Grundsätzlich geht es um das Thema "Ersetzen von Zellinhalten per VBA" - jedoch nur, und das ist jetzt die Krux, nur von einem Teil des Zellinhaltes.
Anbei ist eine Beispieldatei (das Original ist bei weitem größer) https://www.herber.de/bbs/user/147865.xlsx
Mit Hilfe des Rekorders konnte der folgende Code erzeugt werden, der auch wunderbar funktioniert:
ActiveSheet.Range("B1:N38").Select
Selection.Replace What:="*DD*", Replacement:="DD", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Mein Problem ist nun das "*DD*" in der zweiten Zeile.
Ersetzt werden soll nämlich nicht "*DD*", sondern das, was auch immer im Zelle A1 bis A38 steht.
Es soll also für alle Einträge in Spalte A die Tabelle B1:N38 durchsucht werden und dann das "*Treffer in Spalte A* durch ein "Treffer in Spalte A" ersetzt werden.
Ist das möglich?
Alternativ müsste ich sonst den oben stehenden Code für 50 mögliche Kombinationen in der richtigen Tabelle erstellen, was dann doch recht deutlich in Richtung "nervig" geht.
Ach ja, aus irgendwelchen, mir völlig unbekannten Gründen, lässt sich in der Originaldatei nicht einfach der ganze Bereich markieren und per Ersetzen-Funktion und dem " " zu "" alle Leerzeichen entfernen. Es funktioniert auf biegen und brechen nicht. Nur mit dem oben stehenden Code konnten bislang wirklich alle von den lästigen Leerzeichen sicher entfernt werden. In der Beispieldatei hier ist bei dem " JS" noch immer so.

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

Betreff
Datum
Anwender
Anzeige
AW: Ersetzen von Zellinhalten per VBA
01.09.2021 13:24:00
Zellinhalten

Ach ja, aus irgendwelchen, mir völlig unbekannten Gründen, lässt sich in der Originaldatei nicht einfach der ganze Bereich markieren und per Ersetzen-Funktion und dem " " zu "" alle Leerzeichen entfernen. 
weil es keine einfachen Leerzeichen Chr(32), sondern geschützte LZ Chr(160) sind.
Range("B1:N38").replace chr(160),""
Gruß
Rudi
AW: Ersetzen von Zellinhalten per VBA
01.09.2021 17:42:10
Zellinhalten
Hallo Rudi,
das ist auch mir neu! Wie kann ich das feststellen?
Servus
P.S.: Bei Euch alles gesund?
AW: Ersetzen von Zellinhalten per VBA
02.09.2021 08:38:42
Zellinhalten
Hallo Herbert,
das ist doch ein alter Hut 160er statt 32er. Wenn ersetzen " " nicht klappt, sind es 160er. Kannst du auch mit =Code(Teil($A$1;Spalte(A$1;1)) und nach rechts kopieren testen.
Alle gesund und geimpft. Ich hoffe bei euch auch.
Gruß
Rudi
Anzeige
AW: Ersetzen von Zellinhalten per VBA
02.09.2021 10:04:02
Zellinhalten
Hi Rudi,
ach deshalb kannte ich das nicht, weil ich keine alten Hüte besitze! ;o))=))
Servus und trotzdem vielen Dank!
AW: Ersetzen von Zellinhalten per VBA
02.09.2021 09:08:02
Zellinhalten
Hallo Rudi, Deine Lösung hat bestens funktioniert. Vielen lieben Dank für die Hilfe.
Gruß
Martin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige