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

Ersetzen
28.03.2022 16:11:36
MMRH
Hallo Allerseits,
ich versuche den - zugegeben simplen - Schritt Strg+H (ersetzen) durch ein Makro zu ersetzen.
Dabei soll jedes Leerzeichen getilgt werden. Ich habe daher das Makro aufgezeichnet, bei dem über Strg+H nach jedem Leerzeichen gesucht und dieses durch ein Nichts ersetzt wird.
Folgendes Problem:
Habe ich in einer Zelle "5. 000" (man beachte das Leerzeichen hinter dem Punkt), liefert mir das über Aufzeichen gefertigte Makro "5".
Gehe ich über Strg+H vor, bekomme ich "5.000".
Weshalb der Unterschied? Schließlich ist der Code identisch.
Dank im Voraus.

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

Betreff
Datum
Anwender
Anzeige
AW: Ersetzen
28.03.2022 16:21:02
Fennek
Hallo,
VBA "spricht" englisch, d.h. 5.000 ist die Zahl 5.
Versuche die Zelle zuerst als Text zu formatieren.
mfg
AW: Ersetzen
28.03.2022 17:44:45
Daniel
HI
ums mal vollständig zu beschreiben:
nach jedem ERSETZEN prüft Excel erneut, ob der durch das Ersetzen neu entstandene Wert eine Zahl, ein Datum oder eine Formel sein könnte, so wie wenn du den Wert neu von Hand eingeben würdest, und wandelt die Eingabe dann in eines der drei Varianten um. Nur wenn keine Zugehörigkeit zu Zahl, Datum oder Formel erkannt wird, bleibt der Wert ein Text.
Problem bei der Sache ist das was Fennek geschrieben hat:
wenn du das von Hand machst, verwendet Excel für das Erkennen von Zahl, Datum, Formel die Schreibweisen der aktuellen Ländereinstellung, da deutsch also bspw Komma als Dezimalzeichen und Punkt als Tausendertrennzeichen.
Ist aber ein Makro und VBA am Start, dann geht Excel für diese Umwandlung immer von den amerikanischen Schreibweisen aus und dann hast du den Punkt als Dezimalzeichen und das Komma als Tausendertrennzeichen.
das führt dann zu dem scheinbaren Paradoxon, dass wenn man als Text importierte amerikanische Zahlen mit Punkt als Dezimalzeichen in richtige Zahlen umwandeln will, man in VBA den Punkt durch einen Punkt ersetzen muss.
die nächste Frage wäre, was du jetzt als Ergebnis haben willst:
a) die Zahl 5000 (dargestellt mit Tausenderpunkt)
b) den Text "5.000"
Gruß Daniel
Anzeige
AW: Ersetzen
29.03.2022 08:04:26
MMRH
Hi,
danke erst einmal an alle.
Ich versuche nach einer PDF zu Excel-Umwandlung lästige Leerzeichen loszuwerden.
Das Ziel ist also eine Zahl zu bekommen. Das Format ist nachrangig. 5000, 5.000 oder 5.000,00 ist alles akzeptabel.
Dank im Voraus.
Grüße
AW: Ersetzen
29.03.2022 08:54:51
Michael
Moin,
dann müsstest Du doch eigentlich nur im ersten Schritt die Punkte, wenn sie denn immer Tausendertrennzeichen sind, gegen nichts ersetzen und erst im zweiten die Leerzeichen entfernen?
Grüße
Michael
AW: Ersetzen
29.03.2022 09:09:00
MMRH
Danke vielmals. So einfach kann es sein.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige