Saltar al contenido

Lanzar MACRO al pulsar ENTER sobre una celda

publicado

Hola amigos...

Motiva este tema me ayuden a resolver mi dilema... nececito lanzar una macro al pulsar enter sobre una celda seleccionada...

Estoy realizano un formulario para cargar datos, que seran registrados en otra hoja.. la idea es que al llegar a la ultima celda de carga del formulario y darle enter, automaticamente ejecute la macro de registrar los datos cargados en el formulario en la otra hoja que contiene una planilla.. actualmento lo hago con un boton, pero para ello debo tomar el mouse y hacer click en el boton y deseo evitar ese paso y asi agilizar la carga...

Agradecere muchisimo su ayuda como siempre..

Abrazos y exitos a todos.

Featured Replies

publicado
  • Autor

Mira... de este link tome la idea y funciona de la misma manera lo que yo hice..

https://www.youtube.com/watch?v=dcZxdQWnTBY

Lo que yo quiero hacer es evitar el boton de registro para ejecutar la macro, haciendo que la macro se ejecute al SELECCIONAR la ultima celda y dar ENTER.. SIN modificar el contenido de la celda, solo seleccionarla y dar enter....

publicado
  • Autor

ahhh perdon.. pense que querias la explicacion jejee...

Mil disculpas, el archivo es pesado y no me lo permite cargar.. como te lo paso??

publicado
Hace 8 horas, kairon269 dijo:

que al llegar a la ultima celda de carga del formulario y darle enter, automaticamente ejecute la macro

suponiendo que "la ultima celda" (en tu formato-formulario) fuera [C15] (adapta si es diferente)...

copia/pega (o escribe) estos procedimientos en un modulo de código estándar (cambia el nombre y/o las acciones del procedimiento de ejemplo: "estaMacro" por los tuyos):

Sub modificaEnter(Optional nada As String = "")
  Application.OnKey "~", "estamacro"
  Application.OnKey "{enter}", "estamacro"
End Sub
Sub liberaEnter(Optional nada As String = "")
  Application.OnKey "~" ' teclado numerico '
  Application.OnKey "{enter}" ' teclado alfa '
End Sub
Sub estaMacro()
  MsgBox "accion en ejecucion !"
  liberaEnter
End Sub

y lo siguiente en el modulo de código de "esa" hoja:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Address = "$C$15" Then modificaEnter
End Sub

saludos,
hector.

publicado
  • Autor

Disculpen..

Estoy tratando de usar los ejemplos que me brindaron y no logro hacerlos funcionar... algo debo estar escribiendo mal.

Sera que alguno pueda aplicarlo en el archivo que pase??.. se los voy a agradecer.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.