Macro para avanzar después de leer código de barra

Espero puedan ayudarme con algo.

Estoy haciendo un excel, el cual debe almacenar los siguientes datos: Folio; Usuario; Fecha 1; Contenedor; Fecha 2.

El tema es que debe ir automatizando un tema. Cada vez que ingresa un dato mediante lector de código de barra (pistola) debe saltar a la celda de abajo. Como no se como hacerlo es que les pido puedan ayudarme ya que hago macros pero al "presionar un botón" nunca automáticas.

Hay que tener en cuenta que, cuando se realiza la lectura mediante la pistola, la celda queda abierta y es en ese momento que se debe poner un "enter" para leer el siguiente código.

2 respuestas

Respuesta
1

Revisa la configuración de tu "pistola", dependiendo de la marca y modelo de la pistola, se puede configurar para que después de leer un código de barras, automáticamente envié el Enter. De esa forma no es necesaria una macro.

La configuración la puedes hacer desde la misma pistola o si viene con un software, entonces lo puedes realizar desde el software, pero como te comento, eso depende de cada pistola.

Respuesta
1

.22/08/16

Buenas, Jorge

Intentaré una aproximación a una solución ya que tu caso puede tener algunas particularidades que desconozco.

En principio, para resolver el tema del "Enter" pendiente, puedes usar la instrucción:

Application.SendKeys "{enter}"

Luego para que avance a la celda siguiente esta:

ActiveCell.Offset(1).Select

Si, a su vez, esto quieres que se ejecute automáticamente, haz click con el botón derecho del mouse sobre la pestaña de la hoja donde quieres que ocurra lo que solicitas. Elije la opción "Ver Código" y pega lo siguiente:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' JORGE, indica aquí en qué columna van los códigos
LaColumna = "D" ' o aquella donde se cargan los códigos
Set isect = Application.Intersect(Columns("LaColumna"), Target)
If Not Intersect(Target, Columns("C")) Is Nothing Then
    Application.SendKeys "{enter}"
    ActiveCell.Offset(1).Select
End If
Set isect = Nothing
End Sub

Esto hará que al apuntar a una celda cualquiera de la columna indicada se dispare la rutina automáticamente.

Desde luego, esas son las instrucciones que necesitas, pero tienes que probarla en tu caso particular para ver si reacciona como esperas.

Nota que te dejé una indicación dentro del código para que, eventualmente, modifiques la letra de la columna donde caen los códigos.

Espero que te haya sido de ayuda.

Un abrazo!

Fernando

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas