Asociar código de barras a una celda

Hola! Mi pregunta es la siguiente,
tengo una serie de productos y los tengo en una columna con sus nombres, en otra columna he puesto ingreso, otra gasto, todo esto en una hoja mensual, otra columna activada a la del mes anterior en gasto etc, el gasto lo introduzco manual y me va restando del stock, estos productos tienen código de barras, y quisiera saber si puedo asociar ese código de barras al producto y cuando pase el código de barras con el lector me añada uno en gastos y me reste en stock
Un saludo
Fer

1 respuesta

1
Respuesta de
Creo que te puedo ayudar, solo que en primer lugar debes poner una columna con todos los códigos de barra de cada producto.
Seria una macro muy sencilla, ya que la lectora es como un teclado que ingresa el código, solo seria cuestión de hacer un bucarv() u otra función parecida.
HOLA! ¿Puedes ser más concreta? Es que no he hecho nunca una macro. ¿
¿Y cuándo leyera el código de barras me sumaria en la otra celda el gasto?
Un saludo
Fer
Es correcto, solo dime: ¿Tienes en la tabla una columna con el código de cada producto?, porque si no es así tienes que hacerla
HOLA! Todavía no los tengo, pero lo pongo en un momento, ¿después cómo hago para que cuando lea el código de barras me sume uno el la columna de gastos?
Un saludo
Fer
Hola, ya termine el código, salio un poco más largo de lo que creía, pero creo que funciona bien. Solo tienes que hacerle unos cambios para que funcione con tu hoja.
Por seguridad hazlo en una copia de tu archivo :D
1. En tu hoja de inventario busca una celda, esta celda sera el lugar donde el lector dejara el código, en mi ejemplo es la celda "e3". Cambiala de color o ponle un tituo, como quieras.
2.Presiona alt+f11 para abrir el editor de vb
3. Al lado izquierdo busca en el panel de proyectos, la hoja en que tienes inventario, dale dobleclick. Se abrirá a la derecha una hoja en blanco
4.Pega el código
5.Hay unos valores en el código que tienes que cambiar, busca donde dice lector="e3" y ponle la celda donde el lector dejara el código, busca donde dice codigo="a1" y pon la celda donde esta el emcabezado de lo códigos que te dije que agregaras, busca donde dice gasto="b1", y pon la celda donde esta el encabezado de gasto.
6.Cierra el vb, y
7.Para que la macro funcione, solo debes seleccionar la celda de la lectora y listo, puedes ingresarlos manualmente también
8.Listo ya debería de funcionar ;)
Se me olvidaba algo, el formato de las celdas del código y de la celda de la lectora debe ser texto.
Cualquier duda solo preguntame, espero que sea la solución a tu pregunta.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lector As String
lector = "e3" 'cambia esta celda por la celda en la que esta la lectora
If Not Application.Intersect(Target, Range(lector)) Is Nothing Then
    buscar (Range(lector).Value)
    Range(lector).Select
End If
End Sub
Private Sub buscar(dato As String)
Dim codigo As String, gasto As String
Dim n As Long
Dim fc As Long
Dim cc As Long
Dim fg As Long
Dim cg As Long
Dim encontrado As Boolean
Código = "g18" 'cambia esta celda por la celda en la que esta el emcabezado de código
gasto = "h18" 'cambia esta celda por la celda en la que esta el emcabezado de gasto
Range(codigo).Select
n = Range(codigo).CurrentRegion.Rows.Count + (Range(codigo).Row - 1)
fc = Range(codigo).Row + 1
cc = Range(codigo).Column
encontrado = False
fg = fc
cg = Range(gasto).Column
While fc <= n
    If (Cells(fc, cc).Value = dato) Then
            Cells(fc, cg).Value = Cells(fc, cg).Value + 1
            encontrado = True
    End If
    fc = fc + 1
Wend
If encontrado = False Then
MsgBox ("codigo inexistente")
End If
End Sub
Hola! He probado tal como dices y si que me ha funcionado! Pero ahora después de cerrar el programa y volverlo a abrir, ya no me funciona ¿qué puede pasar?
Un saludo
Gracias
-_-  q rarro, intenta poner el nivel de seguridad de las macros en medio.
Herramientas->Macro->seguridad-> medio o bajo
Hola! He hecho lo que me has dicho, y he vuelto a insertar el código y ahora me funciona biennnn! Supongo que no lo habría guardado, ahora lo he guardado je je
Quería hacerte una ultima pregunta, tengo algún producto antiguo que ahora lo han cambiado pero sigue teniendo el mismo nombre, ¿puedo poner los dos códigos de barras en la misma celda?
Un saludo
Fer
De poder se puede, habría que modficar el código, pero se pierde el sentido de tener códigos únicos para cada producto, ademas ten en cuenta que de esta manera, si tienes un mismo producto con dos códigos, puedes separarlos y de esta manera llevar un control de cuantos tienes de cada uno.
Lo que también puedes hacer es tener una fila para cada producto, con diferente código, y una adicional con un código en blanco, o cualquier otro valor, como "antiguo" o lo que quieras, igual la lectora no lo reconocerá, y harás un sumar(), con las celdas de los dos productos.
Espero sea la respuesta, si es así da por finalizada la pregunta. Cualquier duda que tengas no dudes en hacérmela saber, chauuu
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema Microsoft Excel o hacer tu propia pregunta: