Teclas de función con macros de excel

Requiriendo nuevamente de sus sabios conocimientos. Habrá alguna posibilidad de utilizar las teclas de función ( F1, F2, F3, etc) en excel por ejemplo al presionar la tecla de función F9 que se muestre el form del botón que esta en la hoja y al presionar la F6 que se guarden los datos ingresados en el form. Se utilizar con Alt+(tecla) en el acerador de propiedes pero es tedioso porque hay que utilizar dos teclas en cambio con las de Función es más rápido. En espera de sus respuestas

1 respuesta

Respuesta
2

H o l a:

Para abrir el formulario con F9, pon lo siguiente en los eventos de Thisworkbook:

Private Sub Workbook_Open()
'Por.Dante Amor
    Application.OnKey "{F9}", "abrirformulario"
End Sub

En un módulo deberás tener una macro así:

Sub abrirformulario()
    UserForm1.Show
End Sub

De esa forma cuando abras el libro, la tecla F9 se activará para ejecutar la macro abrirformulario


Para desactivar la tecla F9

Application. OnKey "{F9}", ""

Ahora en el formulario, deberás poner en cada control el evento KeyDown, así estando en cualquier parte del formulario, al presionar la tecla F6, se ejecutará una macro:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'Por.Dante Amor
    If KeyCode = 117 Then  'F6
        Call GuardarDatos
    End If
End Sub
'
Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'Por.Dante Amor
    If KeyCode = 117 Then  'F6
        Call GuardarDatos
    End If
End Sub

En el ejemplo puse, un textbox y al formulario con el evento KeyDown, ya sea que estés en el textbox1 o en el formulario, cuando presiones la tecla F6 se activará la macro GuardarDatos.

Entonces en el mismo formulario crea un procedimiento:

Sub GuardarDatos()
    'Aquí tu código para enviar los datos del formulario a la hoja
    MsgBox "Datos guardados"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas