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
(04.12.2014, 12:58)Jockel schrieb: [ -> ]Hallo Ralf, woher, weißt Du das denn..?
Hallo Jockel!
Intuition ... :30:
Und ernsthaft:
Ich habe dies aufgrund der Formellösung des TE geschlossen:
gioveni schrieb:Ich habe bereits 2 Lösungen dafür gefunden:

1. =WENN(RECHTS(A1;1)="-"; LINKS(A1;LÄNGE(A1)-1)*(-1);A1)
 AB
116,23-FALSCH

ZelleFormatWert
A10,00;0,00-;;-16,23

ZelleFormel
B1=RECHTS(A1;1)="-"

Gruß, Ralf
Hallo, wenn Du wirklich Text und keine Zahlen hast, konnte mein Vorschlag auch nicht klappen, aber das habe ich nirgens gelesen... (aber es kann schon sein, dass ich da was überlesen habe...)

Für den Fall, dass es doch Zahlen sind geht das sehr wohl (siehe A2) bei Text funzt das nicht (siehe A3)

Arbeitsblatt mit dem Namen 'Tabelle1'
 A
21-
3-1

ZelleFormatWert
A2[<0]0"-";0-1
A3[<0]0"-";0-1
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Hallo, oje... hatte den Ausgangsbeitrag ja völlig fehl interpretiert... ... ich muss wieder ins Bett - ist eh' ne gebrauchte Woche...!!!
Hallo giov...

vgl.
http://www.ms-office-forum.net/forum/sho...p?t=289912
da sind auch zwei Skripte enthalten.

TIPP: füge das Makro in deiner Personal.xlsb ein.
http://www.online-excel.de/excel/singsel_vba.php?f=113
Hallo zusammen,

mich wundert hier, dass der von Peter eingestellte Code funktioniert.

Ich hätte erwartet, dass das "-" erst ersetzt dann mit -1 multipliziert wird.
Aber mit Peters Code geht es ohne Ersetzen, einfach mit 1 multipliziert, noch nicht mal -1
vielen Dank an alle!!
@atilla:

Ich hatte ja zunächst die gleiche Idee.
Allerdings scheint IsNumeric() großzügiger als ISTZAHL() zu sein, die Hilfe schreibt ja auch:
VBA-Hilfe schrieb:IsNumeric gibt den Wert True zurück, wenn der gesamte Ausdruck als Zahl interpretiert werden kann, andernfalls wird False zurückgegeben.
Stattdessen die Excel-Hilfe:
Excel-Hilfe schrieb:Beispielsweise wird in den meisten anderen Funktionen, die eine Zahl erfordern, der Textwert "19" in die Zahl 19 umgewandelt. In der Formel ISTZAHL("19") wird "19" jedoch nicht aus einem Textwert in einen Zahlenwert umgewandelt, und die Funktion ISTZAHL gibt FALSCH zurück.

 AB
116,23-FALSCH

ZelleFormatWert
A1@16,23-

ZelleFormel
B1=ISTZAHL(A1)
Code:
Sub b()
Debug.Print IsNumeric([A1])
End Sub
ergibt jedoch "Wahr"

Gruß, Ralf
Hallo Ralf,

danke für Deine Erläuterungen.

Du schreibst:
Zitat:Allerdings scheint IsNumeric() großzügiger als ISTZAHL() zu sein,

Das ist ja noch zu verstehen, aber das Excel eine Zahl mit Minus Zeichen am Ende als negative Zahl
interpretiert ist schon etwas mehr als großzügig, ist schon hellseherisch. Wink
Seiten: 1 2