Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
420to424
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
420to424
420to424
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Vba Neuling kommt nicht weiter.....

Vba Neuling kommt nicht weiter.....
carsten
Hallo an Alle !!
Hab folgendes Problem (siehe Arbeitsmappe):
https://www.herber.de/bbs/user/5851.xls
Bin absoluter VBA Neuling - also bitte nicht gleich erschlagen. Möchte in meiner Tabelle den Warenbestand verwalten d.h. Wareneingang / Warenausgang / Warenbestand. (siehe Tabelle)
Bei Versuch1 funktioniert alles so lange wunderbar bis ich beim WA den gleichen Wert wie beim WE eintrage. Dann rechnet Excel den WA leider drauf.
Bei Versuch2 hab ich das Problem umgangen in dem ich nach der Eingabe sofort die Zelle wieder lösche.
Allerdings hab ich bei beiden ein RIESEN PROBLEM sobald der der aktuelle Bestand 0 wird - geht ja nix mehr. Also bitte helft mir !!!
Thanxxx carsten

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

Betreff
Benutzer
Anzeige
AW: Vba Neuling kommt nicht weiter.....
xXx
Hallo,
dein Fehler: Du hast Target mit Range("c6") verglichen. Hierbei werden aber die Werte und nicht die Adressen verglichen.

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
' Wareneingang
If Target.Address = "$C$6" Then
Range("g6") = Range("g6") + Target
' Warenausgang
ElseIf Target.Address = "$E$6" Then
Range("g6") = Range("g6") - Target
End If
Application.EnableEvents = True
End Sub

Gruß aus'm Pott
Udo
http://www.excelerator.de
AW: Vba Neuling kommt nicht weiter.....
Carsten
Hab es umgeschrieben aber leider führt Excel keine Berechnung durch wenn ich beim Wareneingang oder beim Warenausgang etwas eingebe.
Anzeige
AW: Vba Neuling kommt nicht weiter.....
ANdreas
Hallo Carsten,
wahrscheinlich hat sich beim Testen/umschreiben bei Dir ein Fehler eingeschlichen woraufhin die Events deaktiviert blieben und nun natürlich nicht mehr "reagieren".
Deswegen gehört zu einer sauberen Programmierung immer, die Wiederaktivierung der Events mit einer Fehlerbehandlung sicherzustellen. Ich spreche da aus leidlicher Erfahrung. Ein Zellschutz zum Beispiel ist schnell gesetzt und schwups deaktiviert der Code noch die Events, ohne sie wieder zu setzen. Wenn man sich dann noch auf das evtl. vorhandene Before_Close verlässt und es nicht ausgeführt wird, hats schon mal schlimme Folgen ;)

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrorHandler
Application.EnableEvents = False
Select Case Target.Address(0, 0)
Case "C6" ' Wareneingang
Range("G6").Value = Range("G6").Value + Target.Value
Case "E6" ' Warenausgang
Range("G6").Value = Range("G6").Value - Target.Value
End Select
Application.EnableEvents = True
Exit Sub
ErrorHandler:
MsgBox Err.Description, , Err.Number
Application.EnableEvents = True
End Sub

Die Events aktivierst einfach wieder, indem Du entweder Excel neustartest, oder ein Makro ausführst, welches einfach
Application.EnableEvents = True
enthält.
Gruß
Andreas
Anzeige
AW: Vba Neuling kommt nicht weiter.....
Carsten
Danke nochmal an Euch! Jetzt klappts wunderbar !
Tja aller Anfang ist schwer - aber mit der richtigen Hilfe :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige