Habilitar macro con tecla (ENTER)

24/07/2004 - 07:22 por Ivan | Informe spam
Hola a todos
Me tope con este pequeño problema, espero alguien me pueda ayudar
Tengo una Macro la cual quiero que se ejecute en forma automatica cuando
coloque el cursor en A1 y luego presione la tecla ENTER

Gracias de antemano
 

Leer las respuestas

#1 Héctor Miguel
24/07/2004 - 08:09 | Informe spam
hola, Ivan !

... una macro ... quiero que se ejecute ... cuando coloque el cursor en A1 y ... presione la tecla ENTER



puedes usar el metodo =>OnKey "Tecla", "Procedimiento_a_ejecutar"<=>toma MUY EN CUENTA lo siguiente...<1.- se modifica el 'comportamiento normal' de las teclas {Enter} [teclado numerico y alfanumerico]
2.- si dicho comportamiento =>se quedara modificado<= al salir del libro [que haga la 'reasignacion']
[probablemente] la aplicacion [excel] NO las 'podra restablecer' de manera 'automatica'
y... la proxima vez que ejecutes excel... [×_×]
3.- podrias 'asegurarte' de cancelar la modificacion [en el evento '_beforeclose' del libro]
[sin embargo...] si la aplicacion 'se termina' por causas 'inesperadas'... otra vez... [×_×]

=> copia las siguientes lineas de codigo =>en los modulos que te sugiero< cambia el nombre [que estoy 'ejemplificando'] de la macro por el 'real'
[casi con seguridad...] TENDRAS QUE 'pensar' en 'proteger' otros eventos...
[como los '_activate' y '_deactivate' de la hoja Y del libro]
[y/o quizas... 'restablecer' las teclas 'enter' una vez 'terminado' el procedimiento] etc. etc. etc. ;)
y... ¿comentas?
saludos,
hector.
en el modulo de codigo 'del libro' [ThisWorkbook] ==Private Sub Workbook_BeforeClose(Cancel As Boolean)
Restablecer_Enter
End Sub
en el modulo de codigo de 'la hoja' ==Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then Modificar_Enter Else Restablecer_Enter
End Sub
en un modulo de codigo 'normal' ==Option Private Module
Sub Modificar_Enter()
Application.OnKey "{Enter}", "Nombre_de_la_macro"
Application.OnKey "~", "Nombre_de_la_macro"
End Sub
Sub Restablecer_Enter()
Application.OnKey "{Enter}"
Application.OnKey "~"
End Sub

Preguntas similares