Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1740to1744
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

Komisches Verhalten bei Berechnung

Komisches Verhalten bei Berechnung
15.02.2020 10:04:47
kasper00@gmx.de
Schönen guten Tag,
ich habe ein komisches Phänomen und zwar wie folgt:
1. Wenn in der Zelle X3 eine Zahl eingetragen wird dann wird Sie immer richtig verrechnet, außer wenn in der Zelle T3 eine "0" steht, dann wird der Wert aus X3 verdoppelt.
2. Wenn in der Zelle Z3 eine Zahl eingetragen wird die halb so groß ist wie in T3 dann wird der Wert von Z3 verdoppelt. Bsp.: T3 = 20 eingtragen von 10 in X3 dann wird T3=0 obwohl es eine 10 sein müsste.
kann mir dies nicht erklären warum dies passiert, hat jemand ein rat wo der Knackpunkt liegt?
Vielen Dank
Metzler
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Heilung As Single
Dim Schaden As Single
Dim nTod As Single
If Target = Range("X3") Then
Heilung = Target.Value
If Heilung  0 Then
Range("T3").Value = Range("T3").Value + Range("X3").Value
Range("X3") = "0"
End If
End If
If Target = Range("Z3") Then
Schaden = Target.Value
If Schaden  0 Then
Range("T3").Value = Range("T3").Value - Range("Z3").Value
Range("Z3") = "0"
End If
End If
If Target = Range("AB3") Then
nTod = Target.Value
If nTod  0 Then
Range("V3").Value = Range("V3").Value - Range("AB3").Value
Range("AB3") = "0"
End If
End If
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Komisches Verhalten bei Berechnung
15.02.2020 10:21:35
Hajo_Zi
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.
Das ist nur meine Meinung zu dem Thema.

AW: Komisches Verhalten bei Berechnung
15.02.2020 10:26:50
Luschi
Hallo Metzler,
setze in diese Zeile: 'If Target = Range("X3") Then' mal einen Haltepunkt (F9-Taste), schreibe in Zelle 'X3' einen Zahlenwert und staune was alles passiert; mit F8-Taste schrittweise jeden Vba-Befehl weiterschalten.
Schuld an diesem Verhalten ist die Tatsache, daß solche Befehle:
Range("T3").Value = Range("T3").Value + Range("X3").Value
die Ereignis-Routine 'Worksheet_Change' erneut aufrufen, obwohl die vorherige Aktion noch gar nicht beendet war!
Abhilfe: Application.EnableEvents = False zu Beginn und Application.EnableEvents = true am Ende.
Es sind aber weitere Unkorrektheiten im Code:
If Target = Range("X3") Then wierd wie folgt abgeprüft:
If Not (Intersect(Range("X3"), Target) Is Nothing) Then
statt Range("Z3") = "0" so: Range("Z3").Value = 0
Mach ab besten ein Beispiel-Datei, lade sie hier hoch und Dir wird geholfen.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Komisches Verhalten bei Berechnung
15.02.2020 13:07:37
Metzler
Hi Luschi,
besten Dank für die schnelle Hilfe:
Abhilfe: Application.EnableEvents = False zu Beginn und Application.EnableEvents = true am Ende.
Gruß
Metzler
AW: Komisches Verhalten bei Berechnung
15.02.2020 12:44:34
onur
Hast noch Glück gehabt, dass du keine Endlosschleife hast (wie hier)
If Target = Range("Z3") Then
If Range("Z3") =1 then Range("Z3") = 0' Z3 wird verändert - CHANGE-EVENT
If Range("Z3") =0 then Range("Z3") = 1' Z3 wird verändert - CHANGE-EVENT
End If

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige