Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Automatische negative Formatierung

Automatische negative Formatierung
07.09.2006 09:40:02
Peter
Hallo an alle,
in einem Arbeitsblatt werden Werte in bestimmten Zellen immer als negativ betrachtet. Wenn ich die Werte ohne negatives Vorzeichen eingebe, kann ich durch die entsprechenden Formatierungen dafür sorgen, dass die Zahlen mit einem Minuszeichen versehen und rot dargestellt werden. In späteren Formeln berücksichtige ich den negativen Charakter der Werte durch die entsprechenden Minus-Zeichen etc. Ich würde an dieser Stelle einmal von einem unechten negativen Wert sprechen.
Diese Zahl kann man duch ein entsprechendes Makro in eine echte negative Zahl (Multiplikation mit -1) umwandeln lassen.
Meine Frage:
Gibt es eine Möglichkeit, eine Zahl (ohne Vorzeichen) in eine Zelle einzugeben und diese vom System automatisch in eine echte negative Zahl umwandeln zu lassen, OHNE dass man das Makro manuell ausführen muss? Ich denke da vage an eine Funktion, die ich aus Access kenne und die sich dort "Beim aktualisieren" bzw. "Beim Verlassen" nennt.
MfG
Peter
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatische negative Formatierung
07.09.2006 09:50:16
PeterB
hallo,
von Peter zu Peter
deine vage Denke täuscht dich nicht.
Es gibt in Excel auch Ereignisse/Events, die als Auslöser zum Start eines Macros verwendet werden.
Sieh mal in der Online-hilfe unter Events nach.
Damit kannst du dann ein Makro starten, welches die gewünschte Multiplikaton vornimmt.
Gruß
Peter
Anzeige
AW: Automatische negative Formatierung
07.09.2006 09:52:04
Harald
Hallo Peter,
hier eine Möglichkeit. Der Code gehört ins Blattmodul. Den Bereich anpassen

Private Sub Worksheet_Change(ByVal Target As Range)
Dim bereich As Range
On Error GoTo ende
Application.EnableEvents = False
'Gültigkeitsbereich
Set bereich = Range("B5:F5")
If Target.Value <> "" And Target.Count = 1 Then
If Not Intersect(Target, bereich) Is Nothing And _
IsNumeric(Target) Then Target.Value = Target.Value * -1
End If
ende:
Application.EnableEvents = True
End Sub

Gruss Harald
Anzeige
AW: Automatische negative Formatierung
07.09.2006 10:16:31
Peter
Ich kann nur sagen...
ich bin begeistert und hoffe auch einmal an den Punkt zu kommen, dass ich Fragen so schnell und kompetent beantworten kann.
Besten Dank an beide Verfasser der Antworten.
Peter
Danke für die Rückmeldung owT
07.09.2006 10:44:10
Harald
Gruss Harald
;
Anzeige
Anzeige

Infobox / Tutorial

Automatische negative Formatierung in Excel


Schritt-für-Schritt-Anleitung

Um in Excel eine negative Zahl einzugeben, ohne das negatives Vorzeichen manuell zu setzen, kannst du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Finde das Blattmodul, in dem du die automatische Formatierung verwenden möchtest. In der linken Seitenleiste siehst du alle Arbeitsblätter.

  3. Doppelklicke auf das entsprechende Arbeitsblatt.

  4. Füge den folgenden Code ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim bereich As Range
    On Error GoTo ende
    Application.EnableEvents = False
    'Gültigkeitsbereich
    Set bereich = Range("B5:F5")
    If Target.Value <> "" And Target.Count = 1 Then
       If Not Intersect(Target, bereich) Is Nothing And _
       IsNumeric(Target) Then Target.Value = Target.Value * -1
    End If
    ende:
    Application.EnableEvents = True
    End Sub
  5. Passe den Bereich an (Range("B5:F5")) je nach deinen Bedürfnissen an.

  6. Schließe den VBA-Editor und gehe zurück zu deinem Arbeitsblatt.

  7. Gib eine Zahl ohne Vorzeichen in den definierten Bereich ein. Die Zahl wird automatisch als negative Zahl dargestellt.


Häufige Fehler und Lösungen

  • Fehler: Die Eingabe wird nicht als negative Zahl dargestellt.

    • Lösung: Stelle sicher, dass der Code im richtigen Blattmodul eingefügt wurde und der Bereich korrekt eingestellt ist.
  • Fehler: Das Makro funktioniert nicht bei mehreren Zellen.

    • Lösung: Der Code ist so konzipiert, dass er nur eine Zelle behandelt. Wenn du mehrere Zellen gleichzeitig ändern möchtest, musst du den Code anpassen.

Alternative Methoden

Eine weitere Möglichkeit, negative Zahlen in Excel zu formatieren, ist die Verwendung von bedingter Formatierung:

  1. Markiere die Zellen, die formatiert werden sollen.
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden.
  4. Gib die Formel ein: =A1<0 (ersetze A1 durch die erste Zelle deines Bereichs).
  5. Lege das Format (z. B. rotes Schriftbild) fest und bestätige.

Diese Methode funktioniert gut, wenn du Excel negative Zahlen ohne Vorzeichen visuell hervorheben möchtest.


Praktische Beispiele

  • Beispiel 1: Wenn du 100 in die Zelle B5 eingibst, wird automatisch -100 angezeigt.
  • Beispiel 2: Bei der Eingabe von 50 in Zelle C5 wird -50 angezeigt, wenn die oben genannte Methode angewendet wird.

Du kannst auch den Code so anpassen, dass er auf andere Zellen oder Bereiche angewendet wird, um negative Zahlen zu erzeugen.


Tipps für Profis

  • Verwende Kommentare im VBA-Code, um zukünftige Anpassungen zu erleichtern.
  • Experimentiere mit verschiedenen Zellformatierungen, um eine klare visuelle Darstellung der negativen Werte zu erreichen.
  • Nutze die Möglichkeit, verschiedene Events in Excel zu nutzen, um automatisierte Aktionen auszulösen.

FAQ: Häufige Fragen

1. Wie kann ich verhindern, dass Excel negative Werte anzeigt? Du kannst eine bedingte Formatierung verwenden, um positive Zahlen ohne Vorzeichen anzuzeigen, während negative Zahlen in einem anderen Format erscheinen.

2. Kann ich das Makro auch für andere Zellbereiche verwenden? Ja, passe einfach den Bereich im Code an, um andere Zellen einzuschließen.

3. Ist es möglich, negative Zahlen in einer anderen Farbe darzustellen? Ja, du kannst die Schriftfarbe im VBA-Code oder in der bedingten Formatierung ändern, um negative Zahlen hervorzuheben.

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