Clever-Excel-Forum

Normale Version: negative zahlen - Minuszeichen vor die Zahl setzen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

folgender Sachverhalt bereitet mir Schwierigkeiten:

Ich habe eine Tabelle, in der positive und negative Zahlen erscheinen.

Mein Problem sind die negativen Zahlen, da das Minus hinter der Zahl und nicht davor steht.

Ich habe bereits 2 Lösungen dafür gefunden:

1. =WENN(RECHTS(A1;1)="-"; LINKS(A1;LÄNGE(A1)-1)*(-1);A1)

2. Spalte markieren, über Daten, Text in Spalten, nachstehendes Minuszeichen für negative Zahlen aktivieren

Leider kann ich hier zwar mehrere Zeilen übereinander markieren, aber nur eine einzige Spalte.

Ich habe keine Lösung dafür, wie ich die Werte in einem Rutsch ändern kann.

Auch über den mir scheinbar einfachsten Weg (Suchen und auswählen, Ersetzen) komme ich nicht weiter.

Wer weiß Rat?

Danke an alle vorab.

Vg, gioveni
Hallo gioveni, nimm doch die benutzterdefinierte Formatierung
PHP-Code:
[<0]0"-";
Hallo lieber Jockel,

Danke für die superfixe Antwort, nur leider passiert bei meinen Zahlen rein gar nichts, wenn ich diesen Code nutze.?

LG, gioveni
Hallo,

Zitat:Spalte markieren, über Daten, Text in Spalten, nachstehendes Minuszeichen für negative Zahlen aktivieren

Wieviele Spalten hast du denn? Da sich XL die Einstellung merkt ist das doch auch bei mehreren Spalten recht zügig erledigt.

Alternativ habe ich von Uwe mal einen VBA-Code gefunden:
Code:
Sub MinusVor()
'Quelle: Uwe Küstner
  Dim rngB As Range
  Dim rngZ As Range
  Set rngB = Selection
  On Error Resume Next
  For Each rngZ In rngB.SpecialCells(xlCellTypeConstants)
    If IsNumeric(rngZ) Then
      rngZ.Value = rngZ.Value * 1
    End If
  Next rngZ
End Sub

Vielleicht hilft dir dieser Code, der in ein allgemeines Modul muss, weiter.

Bevor du den Code mit Alt-F8 startest markierst du den gewünschten Bereich aus.
Hallo!
Logo, Du hast ja auch Text und keine Zahlen in den Zellen stehen.
Wenn es auch ein kleines Makro sein darf?
Code:
Sub MakeNumbers()
Dim Zelle As Range
For Each Zelle In ActiveSheet.UsedRange
    If Right(Zelle, 1) = "-" Then Zelle = Left(Zelle, Len(Zelle) - 1) * (-1)
Next
End Sub
Gruß, Ralf
Hallo zusammen, ja leider sind es 25 Spalten, die ich täglich bearbeiten muss. Die wollte ich gerade nicht alle nacheinander markieren. Mit Makros und VBA kenn ich mich leider nicht aus...Sad Lieben grußi
(04.12.2014, 12:36)RPP63 schrieb: [ -> ]Hallo!
Logo, Du hast ja auch Text und keine Zahlen in den Zellen stehen...
Gruß, Ralf


Hallo Ralf, woher, weißt Du das denn..?
Hallo!
Ist ganz einfach:
1. Wechsel mit Alt+F11 in den Editor
2. Füge mit Alt, e, m ein neues Modul ein
3. Ins rechte Fenster kopierst Du folgenden Code:
(Ich habe den Obigen Code genommen, der ist besser)
Code:
Sub MakeNumbers
  Dim rngB As Range
  Dim rngZ As Range
  Set rngB = Selection
  On Error Resume Next
  For Each rngZ In rngB.SpecialCells(xlCellTypeConstants)
    If IsNumeric(rngZ) Then
      rngZ.Value = rngZ.Value * 1
    End If
  Next rngZ
End Sub
Den Editor kannst Du jetzt schließen.

Im Excel-Fenster führst Du per Alt+F8 das Makro MakeNumbers auf.

Wenn Du das Makro auch zukünftig benötigst, speicher die Datei als *.xlsm ab.

Gruß, Ralf
(04.12.2014, 11:46)gioveni schrieb: [ -> ]Hallo lieber Jockel,

Danke für die superfixe Antwort, nur leider passiert bei meinen Zahlen rein gar nichts, wenn ich diesen Code nutze.?

LG, gioveni


Hallo gioveni, da ich weder Deine Datei nicht sehe, noch was Du tust, ist dieser Beitrag wenig zielführend... ... vielleicht postest Du mal (D)eine (Beispiel)Datei...
oh prima. nach der Beschreibung von RPP63 habe ich es hinbekommen. Habe die Excel-Datei auch -wie du es beschrieben hast- im xlsm-Format gespeichert. Als ich gerade versucht habe die neue Liste von heute zu bearbeiten (bekomme sie täglich mit neuen Zahlen), war das Makro aber leider nicht mehr da. Was habe ich falsch gemacht?
Seiten: 1 2