VBA / KeyPress / vbKeyEscape

LunaSun

Mitglied
hallo.

ich hab ein userform mit textboxen und buttons (ok & abbrechen). zusätzlich möchte ich dem user die möglichkeit bieten das formular mit der "Esc"-tase zuverlassen (ohne das änderungen übernommen werden). ich hab folgende syntax:

Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If (KeyAscii = vbKeyEscape) Then form.Hide
End Sub

alternativ hab ich es auch schon ohne die klammern und mit dem zahlencode (27) versucht. aber es geht nicht! mir wurde auch schon angetragen, dass es daran liegen könnte, dass der focus auf eine der textboxen gesetzt ist und nicht auf das forumlar. wenns daran liegt wie bekomm ich den focus wieder auf das formular?

kann mir jemand weiter helfen?
grüsse
luna
 
Hi,

ich weiss nicht, ob das mit VBA auch so ohne weiteres geht, aber im normalen VB 6 gibt es für die CommandButton-Objekte eine Eigenschaft, die dazu gesetzt werden muss. Für den Abbrechen-Button mit Escape ist das AFAIK die Eigenschaft "Cancel", für den OK-Button, der auf die Enter-Taste reagieren soll, gibt es ebenfalls eine entsprechende Eigenschaft. Sobald eine dieser beiden Tasten gedrückt wird, wird dadurch das Klick-Ereignis für den jeweiligen Button ausgelöst.
Sieh Dich einfach mal im Eigenschaftenfenster für die Buttons um, evtl. steht da was brauchbares.

Gruss, Dario
 
halli hallo dario!

danke für deine hilfe. in vba gibts die eigenschaft bei commandbuttons auch! dem zufolge: es funktioniert! :eek:) mir war schon fast klar, das es wieder sowas "einfaches" sein muss! *g*
nochmals danke
luna
 

Neue Beiträge

Zurück