Lad en knap på tastatur i VBA udløse en handling

Lad en knap på tastatur i VBA udløse en handling

Her vil jeg vise dig hvordan du i VBA kan lade bestemte knapper på dit tastatur udløse en kode. 

Luk en form med ESC

For at kunne lukke en form med Excel, skal du tilføje en KeyDown event til formen – OG alle andre controls der kan være fokuseret på i formen. I eventhandleren skal du skrive koden, hvor der kigges efter KeyCode = 27, som er koden for ESC.

Private Sub Form1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 27 Then
 Me.Hide
 End If
End Sub

Det er desværre derfor ikke nok at tilføje denne kode til formens KeyDown event. Du må også gøre det til tekstbokse, knapper og andre ting der kan være fokuserede på.

Lad Enter være det samme som at trykke på en knap

Du kan også for et tekstfelt sætte en kode der skal aktiveres, når de trykker enter.

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

If KeyCode = 13 Then
CommandButton1_Click
End If
End Sub

Dette betyder at hvis brugeren indtaster noget tekst i TextBox1 og trykker Enter, så aktiveres automatisk knappen Button1.

Keycodes

Du kan generelt anvende følgende keycodes:

  • KeyCode = 13 = Enter-knappen
  • KeyCode = 27 = ESC-knappen

Andreas Andersen

Forfatter og grundlægger af IT-blogger.dk, der har blogget om IT-emner siden 2012

Skriv et svar

%d bloggers like this: