Anzeige
Archiv - Navigation
1004to1008
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

Daten--Gültigkeit sabotiert Worksheet_Change-Ereig

Daten--Gültigkeit sabotiert Worksheet_Change-Ereig
25.08.2008 16:08:00
Reinhard
Hallo Wissende,
in A1 werden Werte eingegeben, wenn es der Wert 1 oder 2 oder 3 ist so wird er zu A2 dazugezählt.
Das klappt gut mit:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address  "$A$1" Then Exit Sub
Application.EnableEvents = False
If Target = 1 Or Target = 2 Or Target = 3 Then Range("A2") = Range("A2") + Target
Target.Select
Application.EnableEvents = True
End Sub


Nur, füge ich für A1 über Daten--Gültigkeit bei Zulassen ein: Dezimal, Min=1 Max=3 so wird völlig falsch hochgezählt wenn ich in A1 einen anderen Zahlenwert als 1,2,3 einfüge und die Gültigkeitsfehlermeldung kommt, ich dann den Wert auf 1 oder 2 oder 3 korrigiere.
Warum auch immer wird dann der Change-Ereignis Code mehrmals durchlaufen und A2 vielzuviel erhöht.
Wodran kann das liegen?
Danke ^ Gruß
Reinhard

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten--Gültigkeit sabotiert Worksheet_Change-Ereig
26.08.2008 02:31:12
Daniel
Hi
scheint ein fehler in Excel zu sein, wenn man nen Haltepunkt setzt und den Code im Einzelstepmodus durchklickt, wird richtig gerechnet.
alternativ kannst aber auch auf die Gültigkteitsprüfung verzichten und das ganze im Change-Event nachprogrammieren:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address  "$A$1" Then Exit Sub
Application.EnableEvents = False
If Target = 1 Or Target = 2 Or Target = 3 Then
Range("A2") = Range("A2") + Target
else
Msgbox("Unzulässiger Wert")
Target.clearcontents
end if
Target.Select
Application.EnableEvents = True
End Sub


ich lass die Frage mal offen, falls jemand ne bessere Lösung kennt.
Gruß, Daniel

Anzeige
AW: Daten--Gültigkeit sabotiert Worksheet_Change-E
26.08.2008 03:30:53
Reinhard
Hallo Daniel,
danke erstmal daß du das getestet hast und auch darauf kommst daß da falsch gezählt wird, sowas beruhigt mich.
Dein workaround ist okay, aber sorry, ich hätte es besser sagen sollen. Ich suche keinen workaround sondern eine Erklärung für dieses Verhalten von Excel.
Der Hintergrund des Ganzen ist eine Anfrage in einem anderen Forum wo jmd. warum auch immer in eine bestimmte Zelle die Zahlen 1,2,3 eingeben will und immer nach einer Eingabe soll geprüft werden ob in den letzten 8 Eingaben alle drei Zahlen drin waren, wenn nicht soll eine Meldung kommen, z.B. Zahl 1 fehlte in den letzten 8 Eingaben.
Inzwischen habe ich dem Anfrager eine Lösung via Worksheet_Change die das macht gepostet. Insofern ist das Problem des Anfragers erledigt *denk*
Mein Problem ist, im Zuge meiner Gedanken dies Anfrage-Problem zu lösen kam ich darauf, daß es gut wäre nur die Eingabe von den Zahlen 1,2,3 zuzulassen, weil z.B. die Eingabe von 22 meine Auswertung der 8 letzten Eingaben zerhackt hätte, leider zerhackt Daten--Gültigkeit meinen Change-Ereigniscode.
Und an dem Problem kau ich noch rum, deshalb Frage noch offen.
Danke dir erstmal für deien Mühen
Gruß
Reinhard
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige