Necesito que al estar posicionado en cualquier parte de un formulario, al presionar Control+G este haga alguna accion (en este caso Guardar)... Me imagino que puede hacerse llamando a un procedimiento en cada uno de los text y combos del formulario en el que se haga un "if" preguntando si se presiona esa combinacion. Pero no se como detectar eso, no conozco el codigo ascii para esa combinacion (si es que existe)...
Este es el codigo que utilizo para usar las teclas f3 para llamar a otro formulario en este caso Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyF4 Form12.Show Form12.txtfactura.SetFocus Form15.Hide Case vbKeyF7 Form33.Show Case vbKeyF5 Form42.Show Case vbKeyF6 Form43.Show End Select End Sub Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) ShiftDown = (Shift And vbShiftMask) > 0 AltDown = (Shift And vbAltMask) > 0 CtrlDown = (Shift And vbCtrlMask) > 0 '........................................ Select Case Indice Case 0 Cadena = vbKeyF1 Case 1 Cadena = vbKeyF2 Case 2 Cadena = vbKeyF3 Case 3 Cadena = vbKeyF4 Case 4 Cadena = vbKeyF5 Case 5 Cadena = vbKeyF6 Case 6 Cadena = vbKeyF7 Case 7 Cadena = vbKeyF8 Case 8 Cadena = vbKeyF9 Case 9 Cadena = vbKeyF10 Case 10 Cadena = vbKeyF11 Case 11 Cadena = vbKeyF12 End Select If KeyCode = Cadena Then '´ Display key combinations. If ShiftDown And CtrlDown And AltDown Then Txt = "SHIFT+CTRL+ALT+F" & Indice + 1 & "." ElseIf ShiftDown And AltDown Then Txt = "SHIFT+ALT+F" & Indice + 1 & "." ElseIf ShiftDown And CtrlDown Then Txt = "SHIFT+CTRL+F" & Indice + 1 & "." ElseIf CtrlDown And AltDown Then Txt = "CTRL+ALT+F" & Indice + 1 & "." ElseIf ShiftDown Then Txt = "SHIFT+F" & Indice + 1 & "." ElseIf CtrlDown Then Txt = "CTRL+F" & Indice + 1 & "." ElseIf AltDown Then Txt = "ALT+F" & Indice + 1 & "." ElseIf Shift = 0 Then Txt = "F" & Indice + 1 & "." End If Text1.Text = "Has pulsado " & Txt End If End Sub