Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
764to768
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
764to768
764to768
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Minus einträge

Minus einträge
24.05.2006 15:05:07
Sascha
Hallo Leute
ich habe eine Liste erstellt wo verschiedene Beträge eingetragen werden. In den Bereichen P36 bis P43, R36 bis R43 werden nur minus Beträge eingetragen. Kann man mit VBA etwas erstellen das wenn man den Betrag einträgt das dann das minus zeichen automatich davor gesetzt wird zb. -55,3 ? Bitte um Hilfe !!!
Gruß Sascha

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Minus einträge
24.05.2006 15:13:11
Peter
Hallo Sacha,
füge das nachfolgende Ereignis-Makro in das fragliche Tabellenblatt ein.
Rechtsklick auf den Tabellenreiter, Code anzeigen, einfügen, mit Schließen-Kreuz verlassen und testen.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 16 And Target.Row > 35 And Target.Row < 44 Or _
Target.Column = 18 And Target.Row > 35 And Target.Row < 44 Then
If IsNumeric(Target.Value) And Target.Value > 0 Then
Target.Value = Target.Value * -1
End If
End If
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Minus einträge
24.05.2006 15:32:05
Sascha
Hallo Peter
danke für deine schnelle hilfe. Der Code klappt super. Danke.
Gruß Sascha
AW: Minus einträge
24.05.2006 15:13:45
u_
Hallo,
in den Code der Tabelle:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("P36:P43"), Range("R36:R43")) Is Nothing Then
Target = Target * -1
End If
End Sub

Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
sicher?
24.05.2006 15:16:49
Andi
Hi,
nach meinem Verständnis von intersect müsste sich das Target in der Range "P36:P43" UND in der Range "R36:R43" liegen; das wird wohl nicht passieren...
Schönen Gruß,
Andi
Anzeige
AW: sicher?
24.05.2006 15:32:45
u_
Hallo,
du hast Recht! Danke für den Hinweis.
Um das ganze zu perfektionieren und das Makro wegen der Multiplikation (ist ja auch ne Änderung) nicht mehrmals durchläuft:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngInput As Range
Set rngInput = Union(Range("P36:P43"), Range("R36:R43"))
If Not Application.Intersect(Target, rngInput) Is Nothing Then
On Error GoTo ERRHANDLER
Application.EnableEvents = False
Target = Abs(Target) * -1
End If
ERRHANDLER:
Application.EnableEvents = True
End Sub
Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
Anzeige
AW: sicher?
24.05.2006 15:36:51
Sascha
Danke euch allen für die hilfe.
Gruß Sascha
AW: Minus einträge
24.05.2006 15:14:23
Andi
Hi,
zB so:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [P36:P43]) Is Nothing And Intersect(Target, [R36:R43]) Is Nothing Then Exit Sub
Target.Value = Abs(Target.Value) * -1
End Sub

Eingabe von 1 und -1 führt beides zum Wert -1 in der Zelle.
Schönen Gruß,
Andi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige