Como crear códigos de barra

Me gustaría saber si hay alguna forma de crear códigos de barra con alguna macro o software sencillo para que lo pueda leer el lector de código de barras.

2 Respuestas

Respuesta
1

Yo he hecho códigos de barras de dos maneras, en función del destino que tenía el trabajo.

La forma más sencilla, cuando no tienes que cumplir con códigos normalizados. Si es así, lo más fácil es bajarte un tipo de letra TrueType para códigos de barras. En el campo correspondiente introduces el número del código, y en el informe o formulario pones que el campo se escriba con ese tipo de letra. Puedes descargarlas aqui:

http://www.fonts2u.com/category.html?id=70 

La otra forma, es cuando necesitas cumplir con los estándades de codificación internacional. Si es el caso, hay librerías en internet para Access, por ejemplo, que funcionan en modo demo, con plena funcionalidad pero que llevan una especie de marca de agua debajo del código indicando el fabricante del software o similar.

Puedes ver un ejemplo en https://barcodewiz.com/ 

Si lo necesitas tendrás que pagar $99 para poder usarlo sin marca de agua.

Hola,

veo varias descargas, cual me recomiendas para asignarle a productos de un negocio?

SAludos,

MG

Como te decía, depende del uso que tengas que darle.

Yo empezaría por el truetype. Bajate el tipo de letra y prueba. Diseña alguna etiqueta y mira si te puede valer.

Ten en cuenta que los códigos EAN no sólo son barras, sino que tiene que haber una relación entre altura y anchura, y con los márgenes. La solución del tipo truetype no lo tiene en cuenta, y puedes encontrarte con que un 128 se te salga del papel.

No te conformes con el link que te dí, busca a ver si encuentras alguna otra librería que te pueda valer. Yo usé una versión demo con Access y me fue bien porque era para uso interno.

Echa un vistazo en google, hay muchas librerías.

¿En cuál campo es que debo introducir el numero de código?

Tienes que tener un campo de texto en el que almacenes el código.

Si usas un tipo de letra, crea un campo de texto y asignalo a ese campo de la tabla y cambiale el tipo de letra.

Con eso funciona.

Respuesta
1

Disculpa, no había visto tu pregunta, pero te anexo el código y el archivo, este archivo incluye validaciones para que en la fila solamente pongas números y en la columna solamente pongas letras.

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Unload Me
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Por.Dante Amor
    'solamente letras
    Select Case KeyAscii
        Case 65 To 90, 97 To 122     'A-Z, a-z
        Case Else: KeyAscii = 0
    End Select
End Sub
Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Por.Dante Amor
    'solamente números
    Select Case KeyAscii
        Case 48 To 57             '0123456789
        Case Else: KeyAscii = 0
    End Select
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Por.Dante Amor
    If TextBox1 = "" Then Exit Sub
    hoja = "Hoja1"
    col = TextBox2
    fil = Val(TextBox3)
    '
    Set h1 = Sheets(hoja)
    Set b = h1.Columns(col).Find(TextBox1, lookat:=xlWhole)
    If Not b Is Nothing Then
        MsgBox "Dato repetido"
        TextBox1 = ""
        Cancel = True
    Else
        u = h1.Range(col & Rows.Count).End(xlUp).Row + 1
        If u < fil Then u = fil
        '
        h1.Range(col & u) = TextBox1
        TextBox1 = ""
        Cancel = True
    End If
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'Por.Dante Amor
    If CloseMode = 0 Then End
End Sub

El archivo.

https://www.dropbox.com/s/kslh4mgog3q7l7r/ingresar%20cod%20barras2.xlsm?dl=0 


El formulario debe quedar así:

Saludos. Dante Amor

Hola mi amigo,

Te envío archivo por Email para que lo pruebes con mi formato.

El objetivo es tratar de colocar la información desde la celda "C10" hasta la celda "C17" y no lo logro, y si es posible, no deseo poner la letra y numero de fila en el cuadrito sino en la macro y que ella misma ejecute. Si no se puede pues lo dejas así y yo la fijo en el cuadrito.

por favor enviame tu correo.

Encontré tu correo y te envíe el archivo.

Saludos,

MG

Te anexo la macro actualizada.

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Unload Me
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Por.Dante Amor
    If TextBox1 = "" Then Exit Sub
    hoja = "."
    col = "C"
    fil = 10
    Do While Range(col & fil) <> ""
        fil = fil + 1
    Loop
    '
    If fil = 18 Then
        MsgBox "Se alcanzó el límite de códigos de barra", vbExclamation
        Exit Sub
    End If
    Set h1 = Sheets(hoja)
    Set b = h1.Columns(col).Find(TextBox1, lookat:=xlWhole)
    If Not b Is Nothing Then
        MsgBox "Dato repetido"
        TextBox1 = ""
        Cancel = True
    Else
        'If fil = 18 Then fil = 10
        '
        h1.Range(col & fil) = TextBox1
        TextBox1 = ""
        fil = fil + 1
        Cancel = True
    End If
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'Por.Dante Amor
    If CloseMode = 0 Then End
End Sub

Saludos.Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas