Método Application. OnKey (Excel)Application.OnKey method (Excel)

Ejecuta un procedimiento especificado cuando se presiona una tecla o combinación de teclas concreta.Runs a specified procedure when a particular key or key combination is pressed.

SintaxisSyntax

expresión. OnKey (Clave, procedimiento)expression.OnKey (Key, Procedure)

expresión Variable que representa un objeto Application.expression A variable that represents an Application object.

ParámetrosParameters

NombreName Obligatorio/opcionalRequired/Optional Tipo de datosData type DescripciónDescription
KeyKey ObligatorioRequired StringString Cadena que indica la tecla que se va a presionar.A string indicating the key to be pressed.
ProcedimientoProcedure OptionalOptional VariantVariant Cadena que indica el nombre del procedimiento que se va a ejecutar.A string indicating the name of the procedure to be run. Si Procedure es "" (texto vacío), no sucede nada cuando se presiona Key.If Procedure is "" (empty text), nothing happens when Key is pressed. Esta forma de OnKey cambia el resultado normal de las pulsaciones de tecla en Microsoft Excel.This form of OnKey changes the normal result of keystrokes in Microsoft Excel.

Si Procedure se omite, Key vuelve a su resultado normal en Microsoft Excel y se borra toda asignación especial de tecla realizada con métodos OnKey anteriores.If Procedure is omitted, Key reverts to its normal result in Microsoft Excel, and any special key assignments made with previous OnKey methods are cleared.

ComentariosRemarks

El argumento key puede especificar cualquier tecla única combinada con Alt, Ctrl o Mayús, o cualquier combinación de estas teclas.The Key argument can specify any single key combined with Alt, Ctrl, or Shift, or any combination of these keys. Cada tecla se representa mediante uno o varios caracteres, como a para el carácter a, o {ENTER} para la tecla Entrar.Each key is represented by one or more characters, such as a for the character a, or {ENTER} for the Enter key.

Para especificar los caracteres que no se muestran al presionar la tecla correspondiente (por ejemplo: entrar o Tab), use los códigos que aparecen en la tabla siguiente.To specify characters that aren't displayed when you press the corresponding key (for example: Enter or Tab), use the codes listed in the following table. Cada código de la tabla representa una tecla del teclado.Each code in the table represents one key on the keyboard.

Key Key CódigoCode
RETROCESOBACKSPACE {BACKSPACE} o {BS}{BACKSPACE} or {BS}
INTERBREAK {BREAK}
BLOQ MAYÚSCAPS LOCK {CAPSLOCK}
BORRARCLEAR {CLEAR}
SUPRIMIR o SUPRDELETE or DEL {DELETE} o {DEL}{DELETE} or {DEL}
FLECHA ABAJODOWN ARROW {DOWN}
FINEND {END}
ENTRAR (teclado numérico)ENTER (numeric keypad) {ENTER}
ENTRARENTER ~ (tilde)~ (tilde)
ESCESC { ESCAPE} o{ESC}{ ESCAPE} or {ESC}
AYUDAHELP {HELP}
INICIOHOME {HOME}
INSINS {INSERT}
FLECHA IZQUIERDALEFT ARROW {LEFT}
BLOQ NUMNUM LOCK {NUMLOCK}
AV PÁGPAGE DOWN {PGDN}
RE PÁGPAGE UP {PGUP}
VOLVERRETURN {RETURN}
FLECHA DERECHARIGHT ARROW {RIGHT}
BLOQ DESPLSCROLL LOCK {SCROLLLOCK}
TABTAB {TAB}
FLECHA ARRIBAUP ARROW {UP}
F1 a F15F1 through F15 De {F1} a {F15}{F1} through {F15}

También puede especificar teclas combinadas con Mayús o Ctrl o Alt y/o comando.You can also specify keys combined with Shift and/or Ctrl and/or Alt and/or Command. Para especificar una tecla combinada con otra tecla u otras teclas, use la tabla siguiente.To specify a key combined with another key or keys, use the following table.

Tecla con la que combinarTo combine keys with Prefijo en el código de teclaPrecede the key code by
MayúsShift + (signo más)+ (plus sign)
CtrlCtrl ^ (acento circunflejo)^ (caret)
AltAlt % (signo de porcentaje)% (percent sign)
ComandoCommand *asterisco Solo se aplica a Mac; solo puede funcionar en Excel 2011 para Mac y no en versiones posteriores.* (asterisk) Only applies to Mac; may only work on Excel 2011 for Mac and not later versions.

Para asignar un procedimiento a uno de los caracteres especiales (+, ^, %, etc.), encierre el carácter en llaves.To assign a procedure to one of the special characters (+, ^, %, and so on), enclose the character in braces. Para obtener información detallada, consulte el ejemplo.For details, see the example.

Nota

No hay ninguna forma de detectar actualmente la clave de comando en las versiones recientes de Office VBA.There is no way to currently detect the Command key in recent versions of Office VBA. Microsoft es consciente de esto y lo busca.Microsoft is aware of this and is looking into it.

EjemploExample

En este ejemplo se asigna InsertProc a la secuencia de teclas Ctrl + signo más y se asigna SpecialPrintProc a la secuencia de teclas Mayús + Ctrl + flecha derecha.This example assigns InsertProc to the key sequence Ctrl+Plus Sign, and assigns SpecialPrintProc to the key sequence Shift+Ctrl+Right Arrow.

Application.OnKey "^{+}", "InsertProc" 
Application.OnKey "+^{RIGHT}", "SpecialPrintProc"

En este ejemplo se devuelve Mayús + Ctrl + flecha derecha a su significado normal.This example returns Shift+Ctrl+Right Arrow to its normal meaning.

Application.OnKey "+^{RIGHT}"

En este ejemplo se deshabilita la secuencia de teclas Mayús + Ctrl + flecha derecha.This example disables the Shift+Ctrl+Right Arrow key sequence.

Application.OnKey "+^{RIGHT}", ""

Soporte técnico y comentariosSupport and feedback

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación?Have questions or feedback about Office VBA or this documentation? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.