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