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

VBA: Leerzeichen vor Zahl einfügen

VBA: Leerzeichen vor Zahl einfügen
05.02.2016 19:36:59
Jens
Moin,
ich habe ein Problemchen beim Einfügen von Leerzeichen vor Zahlen.
Das Makro importiert eine Textdatei und schreibt den Inhalt Zeile für Zeile in die Arbeitsmappe. Dabei gehen die Leerzeichen vor den Elementen verloren. Am Ende des Makros muss ich nun noch diese Leerzeichen wiederherstellen um die Syntax des Inhalts zu gewährleisten. Abschließend wird diese wieder mittels msdos Format (ansi-Codierung) abgespeichert.
Zellen in denen Zahlen wie 12,15 stehen bekomm ich keine Leerzeichen vorgeschoben.
Mit Texte-Elementen funktioniert das ganz einfach:
Cells(23, 1) = Space(2) & Cells(23,2)
Mach ich das so mit der Zahl erhalte ich in der Text Datei meine Zahl mit 2 Leerzeichen, aber in Anführungszeichen gesetzt, die beim Speichern entstehen, aber nicht sein dürfen: " 12,15"
Die Anführungszeichen entstehen weil in der Zahl ein Komma ist. Ersetze ich nun das Komma mittels replace() Funktion löscht er die Leerzeichen oder ignoriert sie. Ich habe auch bereits das Space() durch " " versucht zu ersetzen, aber nichts hat geholfen.
Ich hoffe mir kann jemand helfen
mfg Jens

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Leerzeichen vor Zahl einfügen
05.02.2016 19:50:22
Piet
hallo
ich weiss nicht ob ich helfen kann, sage aber mal was ich versuchen würde. Ohne Gewaehr!
ich weiss nicht ob es sinnvoll ist die Spalte vor dem Laden der Datei als -Text- zu formatieren.
eine zweite Lösung die ich gelegentlich probiere ist vor dem Space ein Semikolon sezten! z.B.:
Cells(1,1) = "'" & Space(3) & Text Ich weiss nicht ob es dir hilft, einfach mal ausprobieren.
mfg Piet

AW: VBA: Leerzeichen vor Zahl einfügen
05.02.2016 20:04:26
Daniel
Hi
Excel prüft bei jeder Eingabe, ob die Eingabe eine Zahl, ein Datum oder eine Formel sein könnte und wandelt dann die Eingabe in den entsprechenden Wert um.
für die Prüfung werden führende und folgende Leerzeichen ignoriert, dh " 123 " wird in die Zahl 123 gewandelt und die Zahl hat keine Leerzeichen.
die zwei Lösungsmöglichkeiten hat Piet schon beschrieben:
a) die Zellen VOR der eingabe mit dem Zahlenformat TEXT zu formatieren
b) bei der Eingabe das Texterkennungszeichen "'" an den Anfang zu stellen.
du kannst aber schon beim Einlesen der Textdatei das Umwandeln in eine Zahl verhindern.
hierzu musst du die Textdatei über den Importassistenten öffnen (Daten - externe Daten - aus Text) und dann im Schritt 3 des Assistenten für die entsprechenden Spalten das Datenformat TEXT festlegen.
Gruß Daniel

Anzeige
AW: VBA: Leerzeichen vor Zahl einfügen
06.02.2016 00:18:41
Jens
Nabend,
danke für eure Hilfe, der Daten Import bei mir findet mittels QueryTables.Add statt. Darunter konnte man noch einige Eigenschaften setzen wie Textformat und Fileplatform wodurch es jetzt läuft.
'Heureka'
mfg Jens

347 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige