Hallo,
das wird aus zwei Gründen nicht funktionieren. Das KeyDown-Ereignis tritt nur für das Steuerelement oder die Userform ein, für das/die es definiert wurde, wobei für eine Userform noch hinzukommt, dass sie Tastenanschläge nur empfängt, wenn kein Steuerelement aktiv ist, das den Tastenanschlag erhält. Zudem willst du, wenn ich dich richtig verstehe, die Entf-Taste in der Arbeitsmappe deaktivieren. das ginge z.B. so, der Code gehört ins Modul DieseArbeitsmappe:
Private Sub Workbook_Activate()
Application.OnKey "{DEL}", "DoNothing"
End Sub
Private Sub Workbook_Deactivate()
Application.OnKey "{DEL}", ""
End Sub
Zusätzlich musst du in einem allgemeinen Modul noch folgende Prozedur einfügen:
Public Sub DoNothing()
MsgBox "Löschen nicht möglich"
End Sub
Weil aber das Löschen nicht nur mit der Entf-Taste, sondern z.B. auch über das Menü oder Kontextmenü möglich ist, denke ich, das ein Blattschutz die bessere Lösung für dein Anliegen wäre.
Gruß
|