Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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
Anzeige

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
Anzeige
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
Anzeige
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
Anzeige
Bitte sehr, dito! owT
18.02.2017 15:59:05
Luc:-?
:-?
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Betrag in Excel-Tabelle immer negativ


Schritt-für-Schritt-Anleitung

Um in Excel sicherzustellen, dass jede eingegebene Zahl immer als negative Zahl dargestellt wird, kannst du folgende Schritte durchführen:

  1. Benutzerdefiniertes Zahlenformat anwenden:

    • Markiere die Zellen, die du formatieren möchtest.
    • Klicke mit der rechten Maustaste und wähle „Zellen formatieren“.
    • Wähle die Kategorie „Benutzerdefiniert“.
    • Gib folgendes Format ein: [Rot]-#.##0;[Rot]-#.##0.
    • Dies zeigt positive Zahlen mit einem Minuszeichen in roter Schrift an, ändert jedoch nicht den Wert.
  2. Umwandlung positiver Werte in negative Werte:

    • Um sicherzustellen, dass positive Zahlen automatisch negativ werden, kannst du die Formel =-ABS(A1) verwenden, wobei A1 die Zelle ist, die du umwandeln möchtest.
    • Diese Formel wandelt positive Zahlen in negative Zahlen um, während negative Werte unverändert bleiben.
  3. Datenüberprüfung aktivieren (optional):

    • Um sicherzustellen, dass nur negative Zahlen eingegeben werden, gehe zu „Daten“ > „Datentools“ > „Datenüberprüfung“.
    • Wähle „Dezimal“ und setze die Bedingung auf „kleiner oder gleich 0“.

Häufige Fehler und Lösungen

  • Fehler: Die Formatierung zeigt positive Zahlen mit einem Minuszeichen an, ändert jedoch nicht den Wert.

    • Lösung: Verwende die Formel =-ABS(A1) für die Umwandlung.
  • Fehler: Datenüberprüfung lässt positive Zahlen zu.

    • Lösung: Stelle sicher, dass die Datenüberprüfung korrekt eingerichtet ist, um nur negative Werte zuzulassen.
  • Fehler: VBA ist nicht gewünscht, aber benötigt.

    • Lösung: Überlege, ob die Kombination aus Benutzerdefiniertem Format und Formeln deinen Anforderungen gerecht wird, bevor du VBA einsetzt.

Alternative Methoden

  • VBA-Lösung: Wenn du VBA verwenden möchtest, kannst du eine Sub-Prozedur nutzen, um alle Werte in einem bestimmten Bereich auf negative Werte zu setzen:

    Dim xZ As Range
    For Each xZ In Selection
      xZ.Value = -Abs(xZ.Value)
    Next xZ
  • Summenformel anpassen: Du könntest auch die Summenformel so anpassen, dass sie positive Werte als negative betrachtet, indem du =SUMME(-ABS(A1:A10)) verwendest.


Praktische Beispiele

  1. Beispiel für die Formel:

    • Wenn du in Zelle A1 den Wert 50 eingibst und in Zelle B1 die Formel =-ABS(A1) anwendest, wird in B1 der Wert -50 angezeigt.
  2. Formatierung Beispiel:

    • Bei der Eingabe von 100 in eine formatierte Zelle, wird diese als -100 in roter Schrift angezeigt, ohne den tatsächlichen Wert zu ändern.
  3. VBA Beispiel:

    • Wähle einen Bereich mit Werten aus und führe das oben angegebene VBA-Skript aus, um alle Werte negativ zu machen.

Tipps für Profis

  • Nutze die Betragsfunktion (BETRAG()), um sicherzustellen, dass Berechnungen immer mit positiven Werten arbeiten, während du die ursprünglichen Werte in einer separaten Spalte aufbewahrst.
  • Bei komplexeren Anforderungen, wie der Umwandlung von negativen in positive Werte und umgekehrt, kannst du die benutzerdefinierte Funktion GetText kombinieren, um Daten in der gewünschten Form zu erhalten.
  • Wenn du häufig mit negativen Werten arbeitest, erstelle eine Vorlage mit den entsprechenden Formaten und Formeln, um Zeit zu sparen.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass alle Eingaben negativ sind?
Verwende die Datenüberprüfung, um nur negative Werte zuzulassen, oder setze eine Formel ein, die positive Werte automatisch in negative umwandelt.

2. Gibt es eine Möglichkeit, das Minuszeichen automatisch vor Zahlen einzufügen?
Ja, du kannst ein benutzerdefiniertes Zahlenformat verwenden oder eine Formel, um sicherzustellen, dass alle positiven Werte negativ angezeigt werden.

3. Ist VBA notwendig, um Werte negativ zu machen?
VBA ist nicht zwingend erforderlich, du kannst auch mit Formeln und benutzerdefinierten Formaten arbeiten, um die gewünschte Darstellung zu erreichen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige