ich habe folgendes Excel/VBA-Problem. Dies ist mein erster Forenbeitrag und ich besitze leider keine großartigen VBA Kentnisse.
Ich habe ein Makro programmiert (Aufzeichnung), welches auf Basis von Regressionsdaten (x,y-Werte) eine gewichtete Regression durchführt (Solver-AddIn). Dieses funktioniert soweit auch einwandfrei.
Nun steuere ich dieses Makro über einen eigenen Button, da dies jedoch nicht sehr Anwenderfreundlich ist (Bei Daten Änderung wird vergessen zu drücken) würde ich die Eingabedaten gerne global überwachen und das Makro jedes mal automatisch ausführen wollen wenn sich an den Eingabedaten x,y etwas ändert.
Dies konnte ich wunderbar über folgenden Code realisieren (Nach Recherche gefunden). In der definierten Zelle "I16" steht ein Wert, welcher ein Formelergebnis auf Basis einer Berechnung ist. Deshalb muss ich das Calculate Event nutzen. Es ist nicht sinnig die Eingabedaten so zu überwachen, da sonst auch bei der Ersteingabe jedesmal eine unnötige Berechnung erfolgt (Wenn nacheinander Daten eingegeben werden).
Hier der Code:
Private Sub Worksheet_Calculate()
Static A4 As Double
If Range("I16").Value A4 Then
A4 = Range("I16").Value
Call "mein Solver Makro für gewichtete Regression"
End If
End Sub
Ich würde diesen Code nun einfach gerne mit einer Bedingung verknüpfen. Sind die Eingabedaten nämlich nicht "vollständig" oder "unplausibel" oder generell "nicht zulässig" erscheint im Feld "BLA" --> Eingabefehler.Diese ganze Überwachung (Calculate_Event und Solver makro Ausführung) soll also erst oder nur durchgeführt werden, wenn kein Eingabefehler gemacht wurde. Kann mir da jemand helfen?
Vielen lieben Dank und Gruß,
Marc