martinad
Goto Top

Excel 2007 - Text in Spalten, Zahlenwerte umformatieren

Hallo an die Community,

ich habe eine Frage zu Excel 2007 genauer der Excel Funktion "Tabellen in Spalten" (zu finden als Butten unter "Daten").
Vielleicht hat jemand eine Idee was ich falsch mache?


Situation ist folgende:

Ich habe mehrere Werte die so aussehen: "1234.56-" . Ich will die Werte mit der Funktion Text in Spalten umformatieren, was in Excel 2003 auch immer geklappt hat, jetzt in Excel 2007 aber nicht mehr so funktioniert anscheinend.


Problem ist folgendes:

Der Wert von oben soll so aussehen: "-1234,56". Das heißt, das Minus-Zeichen soll vorangestellt werden und der Punkt durch ein Komma getauscht werden. Mit dem Punkt habe ich nicht das Problem, den könnte ich durch suchen und ersetzen auch so umstellen (strg-h drücken), aber das Minus Zeichen einfach über Klicks nach vorne zu bringen scheint im Moment ein unlösbares Problem. In der Vergangenheit hat das Prima über die Funktion Text in Spalten funktioniert. Bei Schritt 3 von 3 auf den Button "Weitere..." geklickt, Tausendertrennzeichen auf Punkt gestellt und unten einen Haken gemacht und das Problem war gelöst.


Kennt jemand eine Möglichkeit wie ich den Wert (sind eigentlich sehr viele Werte) anders umbauen kann, sodass er mein gewünschtes Format erhält?

Vielen Dank für Eure Mühen und beste Grüsse
Martin

Content-Key: 90753

Url: https://administrator.de/contentid/90753

Printed on: April 19, 2024 at 08:04 o'clock

Member: Netzheimer
Netzheimer Jun 27, 2008 at 05:30:19 (UTC)
Goto Top
Kopiere den Wert (ich hoffe er ist als Zahl formatiert) in die benachbarte Zelle und stelle das Zahlenformat auf "Benutzerdefiniert" und die Werte "#.##0,00;-#.##0,00" ein.

Ohne Tausendertrennzeichen "#0 €;-#0 €"
Member: MartinAD
MartinAD Jun 27, 2008 at 06:27:12 (UTC)
Goto Top
Erstmal Danke für die Antwort!

Tut mir leid, aber das funktioniert bei mir nicht. Ich habe die Zelle erst von Standard auf Zahl umgestellt. Dann bin ich wieder in die Formatierung und hab "Benutzerdefiniert" ausgewählt.

Dort einfah den Text von dir hineinkopiert ( #.##0,00;-#.##0,00 ) - aber der wert ändert sich nicht. Danach steht in meiner Zelle immernoch 45454.54- (beispiel) .

Was mache ich denn da falsch?
Member: bastla
bastla Jun 27, 2008 at 12:46:39 (UTC)
Goto Top
Hallo MartinAD!

Ich hoffe doch sehr, dass sich noch eine andere Lösung als
=WERT(WECHSELN(WENN(RECHTS(A1;1)="-";"-"&LINKS(A1;LÄNGE(A1)-1);A1);".";","))  
finden lässt.

Grüße
bastla
Member: MartinAD
MartinAD Jul 03, 2008 at 13:39:53 (UTC)
Goto Top
Erstmal Entschuldigung für die späte Antwort!

Der Quelltext den du da geschrieben hast funktioniert bei mir.

Ich müsste nur eine Lösung finden diese Funktion auf einen ganzen Bereich anzuwenden und die jeweils Aktuelle Zelle so zu formatieren.

Beispiel: Zella B3 hat den Wert 3.3-, durch diese Funktion soll der Wert 3.3- in -3,3 umgewandelt werden.

Kann mir jemand sagen wo ich diese Funktion dann am besten eintragen müsste oder wie ich das möglichst geschickt lösen könnte?

Ich möchte nochmal anmerken das es hier um tausende von Zeilen und auch sehr viele Spalten geht - danke für eure Zeit und Mühe.

Gruß
Martin
Member: bastla
bastla Jul 03, 2008 at 18:57:27 (UTC)
Goto Top
Hallo MartinAD!

Um einen ganzen Bereich umzuwandeln, wäre ein Makro besser geeignet.

  • Öffne mit Alt-F11 den "VBA-Editor".
  • Über "Einfügen / Modul" erhältst Du ein Code-Fenster, in welches Du den folgenden VBA-Code einfügst:
Sub KorrNeg()
Dim Bereich As Range, Zelle As Range
Set Bereich = Range("A1:L4000")  
'Set Bereich = Selection  
For Each Zelle In Bereich
    With Zelle
        If Right(.Value, 1) = "-" Then  
            .Value = CDbl("-" & Replace(Left(.Value, Len(.Value) - 1), ".", ","))  
        End If
    End With
Next
End Sub
  • Passe den zu bearbeitenden Bereich in Zeile 3 an Deine Gegebenheiten an oder entferne das ' am Beginn der Zeile 4 - dann werden alle in der Tabelle markierten Zellen bearbeitet.
  • Starte das Makro,
    • indem Du den Cursor zwischen "Sub KorrNeg()" und "End Sub" platzierst und F5 drückst oder das grüne "Play"-Symbol in der Symbolleiste anklickst, oder
    • indem Du aus der Tabelle über "Extras / Makro / Makros..." die Liste der verfügbaren Makros aufrufst und "KorrNeg" doppelt anklickst (solltest Du das Makros öfter verwenden müssen, lässt sich dafür natürlich auch ein Symbol in der Symbolleiste erstellen oder eine Tastenkombination festlegen).

Unter Umständen musst Du als Voraussetzung noch in "Extras / Makro / Sicherheit..." die Sicherheitsstufe auf "Mittel" reduzieren (danach Excel beenden und neu starten), und dann beim Öffnen der Datei "Makros aktivieren".

Grüße
bastla
Member: MartinAD
MartinAD Jul 04, 2008 at 05:12:38 (UTC)
Goto Top
Danke, das klappt soweit.

Mit der Lösung sollte ich leben können bis MS (hoffentlich) den Fehler in Office 2007 erkennt und behebt.

Danke nochmal für die Mühen - war sicher kein leichter Gedankengang!

Gruß
Martin
Member: bastla
bastla Jul 04, 2008 at 07:26:17 (UTC)
Goto Top
Hallo MartinAD!
war sicher kein leichter Gedankengang!
... weil es mit der Antwort so lange gedauert hat? face-wink

Der Umwandlungsteil des VBA-Makros ist eigentlich eine 1:1-Umsetzung der oben stehenden Formel - insofern hat sich die Mühe in Grenzen gehalten.

bis MS (hoffentlich) den Fehler in Office 2007 erkennt und behebt.
Wäre es nicht MS, würde man/frau sich vielleicht noch über die Verschlimmbesserung einer bewährten Funktionalität wundern ...

Grüße
bastla