Mir unerklärliche Formatänderung

26/12/2008 - 00:28 von Marion Scheffels | Report spam
Hi, @all!

Mit tut sich wieder mal ein Ràtsel auf...

Aus einer Textmail habe ich unter Anderem den Text "Betrag: 9,99"
kopiert, das "9,99" abgetrennt und in ein Arbeitsblatt eingefügt.
Ich bekomme das nicht als Zahl oder Wàhrung formatiert.
Merkwürdigerweise sind andere numerische Angaben sofort beim Einfügen
schon Zahlen. In denen ist aber auch kein Komma enthalten.
Als ich vorhin die Zelle anklickte und oben in die Editionszeile
klickte, ànderte sich das Format der "9,99" irgendwie automatisch, und
plötzlich war es eine Zahl, so wie es sein sollte.

Um das zu erfassen, habe ich die Makro-Aufnahmefunktion benutzt und
bekam das hier heraus:
ActiveCell.FormulaR1C1 = "9.99"

Wie formuliere ich das Umwandeln im Makro? (Die Betràge sind ja immer
anders.)
Ich kann entweder den Wert der Variablen umformatieren, oder auch, wenn
er in einer Zelle abgelegt ist.

Danke!
MarionS
einwegadresse@marions.de

"Darf ich Ihnen unseren Zehnerpack anbieten?"
"Wieviel sind denn da drin?"
 

Lesen sie die antworten

#1 Thomas Ramel
26/12/2008 - 08:32 | Warnen spam
Grüezi Marion

Marion Scheffels schrieb am 26.12.2008

Mit tut sich wieder mal ein Ràtsel auf...

Aus einer Textmail habe ich unter Anderem den Text "Betrag: 9,99"
kopiert, das "9,99" abgetrennt und in ein Arbeitsblatt eingefügt.



Die Ursache liegt im dritten Wort dieses Satzes

Bei Copy/Paste aus anderen Anwendungen fügt Excel (meist) die Daten als
Text in die Zellen (woher soll Excel auch wissen, dass diese ASCII-Codes
Zahlen darstellen mit denen gerechnet werden soll... ;-)) und zeigt sich
dann störrisch beim Umformatieren.

Ich bekomme das nicht als Zahl oder Wàhrung formatiert.
Merkwürdigerweise sind andere numerische Angaben sofort beim Einfügen
schon Zahlen. In denen ist aber auch kein Komma enthalten.



Da schlàgt dann die Excel-eigene 'mitdenkende' Umwandlung zu, die in vielen
Fàllen aber nicht das tut, was der User gerade will.

Als ich vorhin die Zelle anklickte und oben in die Editionszeile
klickte, ànderte sich das Format der "9,99" irgendwie automatisch, und
plötzlich war es eine Zahl, so wie es sein sollte.



Ja, das wird dann als Neueingabe aufgefasst und, wenn das Zellenformat
'Standard' oder 'Zahl' ist, wird die Umwandlung korrekt vorgenommen.

Wie formuliere ich das Umwandeln im Makro? (Die Betràge sind ja immer
anders.)
Ich kann entweder den Wert der Variablen umformatieren, oder auch, wenn
er in einer Zelle abgelegt ist.



'Von Hand' hat sich die folgende Vorgehensweise bewàhrt:

- Spalte markieren
- Format 'Standard' oder 'Zahl' vergeben (oder 'Wàhrung')
(auch wenn das schon so ausgegeben werden sollte)
- (bei weiterhin markierter Spalte) Menü: 'Daten'
- Text in Spalten
- [Fertig stellen]

In VBA kannst Du dasselbe wie folgt tun:

Sub TextSpalten_ins_Zahlenformat()
'Wandelt als Text vorliegende Zahlenwerte in 'echte' Zahlen um
'Spaltenbereich markieren (auch zu viele) und starten
Dim Spalte As Range
On Error Resume Next
For Each Spalte In Selection.Columns
Columns(Spalte.Column).NumberFormat = "General"
Columns(Spalte.Column).TextToColumns
Next
End Sub



Mit freundlichen Grüssen
Thomas Ramel

- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-3]
Microsoft Excel - Die ExpertenTipps

Ähnliche fragen