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
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...
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?