ich glaube dies ist mal 'ne Frage an Spezies?!
Habe folgende benutzerdefinierte Function:
Private Function GetCurShapeName() As String
' gibt den ÜberschriftenNamen der aktiven VorlagenKonfiguration zurück
Application.Volatile ' kennzeichnet diese Funktion als flüchtig (volatile)
GetCurShapeName = ""
If Worksheets("Definitionen").Range("CurentShape") = "rAngebot" Then
' Angebot
GetCurShapeName = "Angebot"
ElseIf Worksheets("Definitionen").Range("CurentShape") <> "" Then
GetCurShapeName = Worksheets("SchemaPro").Range(Worksheets("Definitionen").Range("CurentShape")).item(-3)
End If
End Function
Diese befindet sich in einem Modul und wird im Tabellenblatt "Definitionen" aufgerufen.
=GetCurShapeName()
In der Mappe gibt es ein Tabellenblatt Namens "SchemaPro". In dieser werden Eingabe in bestimmte Zellen abgefangen und neu gesetzt. Z.B. bei Eingabe eines "x" wird dieses durch "X" ersetzt und bestimmte weitere Vorgänge ausgelöst.
Wird die Zelle mit ABER: Verlässt man die Zelle (Eingabe von "x" und Mausklick) mit einem Mausklick auf eine andere Zelle, tritt beim Schreiben von "X" ein allgemeiner Objekt-Fehler auf. Eine erste Idee war, die Funktion ins Tabellenblatt "Definitionen" zu verschieben. Dort wird sie dann aber leider nicht gefunden. a) Gibt es eine Möglichkeit, das diese Funktion nur dann aufgerufen wird, wenn sich im Tabellenblatt "Definitionen" sich etwas ändert? (Jetzt wird sie aufgerufen, sobald sich in irgendeinem Tabellenblatt etwas ändert. b) Gibt es einen "Trick" den Mausklick in ein "Enter" umzuwandeln? Für Idenn und Vorschläge bin ich dankbar. Gruß Frank