Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1540to1544
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Betrag in Excel-Tabelle immer negativ

Betrag in Excel-Tabelle immer negativ
16.02.2017 15:43:16
Werner
Hallo Forum,
gibt es eine Möglichkeit, in einer Zelle eine Formel zu hinterlegen, damit jede eingegebene Zahl, egal ob positiv oder negativ, immer als negative Zahl (in rot und mit einem "-" davor) dargestellt wird. Oder ist das nur über VBA lösbar?
Danke im Voraus
Werner

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Betrag in Excel-Tabelle immer negativ
16.02.2017 15:55:41
Daniel
Hi
wenns nur um die Darstellung geht, dann mit diesem benutzerdefinierten Zahlenformat in dieser Art, der erste Teil beschreibt die Darstellungsform für positive Zahlen, der zweite Teil die Darstellungsform für negative Zahlen, man kann natürlich für beide Typen die gleiche Darstellungsform angeben:
[Rot]-#.##0;[Rot]-#.##0
zu beachten ist, dass das keinen Einfluss auf den Wert der Zelle hat, dh positive Zahlen bleiben positiv, auch wenn das "-" davor angezeigt wird.
wenns die positiven Zahlen bei Eingabe in negative umgewandelt werden sollen, geht's nur mit VBA
oder in den Formeln mit -ABS(A1)
Gruß Daniel
Anzeige
AW: Betrag in Excel-Tabelle immer negativ
16.02.2017 16:44:36
Werner
Hallo Luc, hallo Daniel,
es geht nicht nur um die graphische Darstellung; das wäre durch die entsprechende Format-Maske problemlos machbar. In meiner Tabelle gibt es verschiedene Zeilen mit positiven oder negativen Zahlen. Ein paar dieser Zeilen können aber nur negative Zahlen enthalten. Deshalb möchte ich, dass positive Zahlen in negative umgewandelt werden. Grund: am Ende deer Tabelle wird die Spaltensumme ermittelt. und da sollten die Beträge aus bestimmten Zeilen immer abgezogen werden (oder als negative Zahl addiert werden).
Gruß
Werner
AW: Betrag in Excel-Tabelle immer negativ
16.02.2017 16:51:25
Daniel
Hi
du könntest über die Datenüberprüfung absichern, dass der Anwender nur negative Zahlen eingeben kann.
Daten - Datentools - Datenüberprüfung - Einstellungen - Zulassen: Dezimal, kleiner oder gleich 0
ansonsten musst du im Change-Event des Tabellenblatts mit einer Schleife über alle Zellen des Targets laufen und die Zahlenwerte in negative Zahlen umwandeln.
Gruß Daniel
Anzeige
AW: Betrag in Excel-Tabelle immer negativ
16.02.2017 17:57:43
Werner
Hallo Daniel,
VBA wollte ich vermeiden. Wenn es aber keine andere Möglichkeit gibt: ...... belbt nur VBA!
Gruß
Werner
AW: Betrag in Excel-Tabelle immer negativ
16.02.2017 17:59:58
Daniel
naja, ich habe dir ja auch eine Möglichkeit genannt, wie du ohne VBA sicherstellen kannst, dass manuell nur negative Zahlen eingegeben werden können.
hast du die mal ausprobiert?
Gruß Daniel
Es scheint sich also nur um bestimmte Zellen ...
16.02.2017 19:02:45
Luc:-?
…bzw ganze Zeilen zu handeln, Werner,
da wären Daniels Vorschläge wohl am günstigsten (natürlich eingegrenzt auf diese Zellen), wenn die Zahlen nicht nur negativ sein müssen, sondern auch tatsächlich negativ sind bzw so behandelt wdn sollen. Wahrscheinlich willst du eine einfache Summe (über Zeile bzw Spalte) bilden und diese Zellen nicht separat abziehen müssen. Das halte ich aber für bedenklich, denn durch ein derarti­ges Konzept provoziert man Fehler, da nicht jeder Ausfüllende das Konzept kennt bzw daran denkt, was wohl auch passiert.
Liegen die Daten aber schon in dieser zT irregulären Form vor, nutzen dir Daniels Vorschläge vermutlich wenig. Hier wäre dann ent­weder eine Nach­bearbei­tung der entsprd Zeilen per korri­gierender VBA-Sub­Prozedur oder die Berück­sichtigung dieses Tat­bestands in der Summen­Fml erforderlich. In der 1.Variante können die Daten entweder direkt geändert oder sie in eine ZellFml eingekleidet wdn → zB:
Dim xZ As Range
For Each xZ In ActiveWindow.RangeSelection
xZ = -Abs(xZ) 'oder eben: xZ.Formula = "=-ABS(" & CStr(xZ) & ")"
Next xZ
Die Alternative hat den Vorteil, dass die OriginalDaten erhalten bleiben.
In der 2.Variante wdn die betreffenden Zellen mit dem Format -0;-0 versehen (unbedingt beide -0 verwenden, weil sonst bei negativen Zahlen 2× - gezeigt wird). Die auf die Werte zugreifenden Fmln müssen dann eine UDF wie zB GetText verwenden, um dieses Format beizu­behalten. Dabei wdn die Zahlen zu TextZahlen, aber mit voran­gestelltem -- ist das korri­gierbar, also --GetText(bereichsbezug). Diese UDF liefert aber stets ein Datenfeld, auch, wenn nur 1 Wert zurück­gegeben wird (in Analogie zu ZEILE und SPALTE, bei denen das auch so ist)! Warum das so ist, kannst du aus ihrem Pgm ersehen (Einzel­Werte wdn nicht sepa­rat behandelt!):
Rem Ermittelt Werte eines Bereichs in Darstellungsform --> GetRText
'   Vs1.1 -LSr -cd:2014? -1pub:20170216h[20141223h(1.0)] -lupd:20160611n
Function GetText(Bezug As Range)
Dim cct As Long, cix As Long, rct As Long, rix As Long, ber As Range
cct = Bezug.Columns.Count: rct = Bezug.Rows.Count
ReDim erg(rct - 1, cct - 1)
For Each ber In Bezug
erg(rix, cix) = ber.Text
cix = (cix + 1) Mod cct: rix = rix - CInt(cix = 0)
Next ber
GetText = erg
End Function
Gruß, Luc :-?
Anzeige
AW: Es scheint sich also nur um bestimmte Zellen ...
18.02.2017 09:06:04
Werner
Hallo Daniel, hallo Luc,
das mit der Datenprüfung möchte ich nicht. Der Anwender soll den Betrag positiv oder negativ eingeben können. Danach soll ein positiver Wert in einen negativen umgewandelt werden.
Anscheinend gibt es ohne VBA keine Lösung. Deshalb werde ich jetzt das Problem mit VBA lösen.
Viel Dank und Gruß
Werner
Bitte sehr, dito! owT
18.02.2017 15:59:05
Luc:-?
:-?

30 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige