22.03.2017, 10:38 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2017, 10:38 von dertommy.)
Hallo!
Ich habe folgendes Problem. Beim Einstieg in ein Tabellenblatt muss ich mittels einer Inputbox einen Wert eingeben. Daraus resultiert sich, dass Werte in diesem Tabellenblatt aktualisiert werden. Sprich, ist nun der eingegeben Wert größer, wird er in ein bestimmtes Feld geschrieben, wenn nicht, dann nicht. In diesem Fall handelt es sich um die Zelle E8, die aktualisiert werden soll. Nun möchte ich aber, dass ich gleich darauf in einer MessageBox darüber informiert werde, dass der Wert größer ist. Das ist ja kein Problem. Nur möchte ich zusätzlich den neuen größeren Wert in der MessageBox stehen haben, was er leider nicht macht. Er schreibt mir immer den alten kleineren Wert hin, obwohl ich schon im Code vor der MessageBox "Application.Wait Now + TimeSerial(0, 0, 2)" eingebaut habe. Das gleiche betrifft dann auch die Prozentwerte, welche dann gleich nachher kommen.
Ich habe die Datei im Anhang mit angehängt. Es geht im konkreten Fall um das Tabellenblatt "Comgest Growth Greater China".
Nur noch so zur Info. Bitte nicht wundern, dass ich die Werte mehrmals im Tabellenblatt (versteckt) anzeige, da sonst die Formatierung in der Inputbox nicht passt. Aber das werdet ihr in der Datei am besten sehen.
ich habe mal eine Frage, und ich Rate jetzt mal völlig frei "ins Blaue": kann es sein das in der Datei viele Formeln berechnet werden müssen?? Dann sollte man nur zum Testen mal vor Application.Wait den Befehl Application.Calculate setzen. Ist frei geraten, würde mich freuen wenn es hilft
Ich habe vor "Application.Wait Now + TimeSerial(0, 0, 2)" folgendes eingefügt: "Application.Calculation = xlCalculationAutomatic". Leider funktioniert es noch immer nicht.
Hier der Code:
Code:
Private Sub Worksheet_Activate() Dim gewinn As Double Dim prozent As Double Dim prozentgesamt As Double Dim wert As Variant alterKursstand = Cells(3, 9) alterGewinn = Cells(5, 10) GewinnVerlust = Cells(5, 4) alterProzentaufgesamteLaufzeit = Cells(6, 10) alterKursstandDatum = Cells(3, 4) alterProzentmitheutigemDatum = Cells(7, 10) höchsterGewinn = Cells(8, 10) höchsterGewinnDatum = Cells(8, 6) höchsterProzentaufgesamteLaufzeit = Cells(10, 10) höchsterProzentaufgesamteLaufzeitDatum = Cells(9, 9) höchsterProzent = Cells(9, 10) höchsterProzentDatum = Cells(8, 9)