Hintergrund:
ich habe ein Recht kompliziertes Excelmakro geschrieben welches komplexe physikalische Systeme berechnet. Die Arbeitsmappe ist so konzipiert, dass in einem Blatt alle Eingaben vorgenommen werden müssen. Nach vollständiger Eingabe werden diese über eine externe Physikengine simuliert und das Ergebnis wird zurück nach Excel gegeben. Es gibt ein 2 Arbeitsblatt welche die Ergebnisse Grafisch auswertet. Um sicher zustellen, dass man die Ergebnisliste nur anklicken kann wenn die Eingegebenen Daten auch Simuliert wurden habe ich Folgendes kleine Makro geschrieben:
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Worksheets("Daten").Range("A2") = "Ja" Then Exit Sub
Worksheets("Datenerfassung").Activate
If MsgBox("Die Anlage wurde noch nicht simuliert. Jetzt berechnen?", vbYesNo) = vbYes Then
Call Berechnen
End
End If
End
End Sub
Problem:
Funktioniert auch alles Prima soweit, allerdings wird dieses Makro auch von anderen Makros welche eine Select Methode benutzen aufgerufen. Dies alles zu ändern wäre zu kompliziert.
Kennt jemand eine Möglichkeit den Trigger des Makros auf manuelles anklicken eines Sheets zu begrenzen?
Danke im Vorraus für jeden Tipp
mfg
Alex