Como hago para generar un cdigo de barras con los campos que tengo " nombre" "dni"
"telfono", todos seguidos .IIIIIIIIII IIIIIIIII IIIIIIIIII IIIIIIIII
Y luego leerlos con un lector pero que me los separe por campos diferentes? nombre dni telfono La idea es extraer los datos de una base transformarlos en cdigo de barras, y despus transcribirlos en otra base. Experto Puedes utilizar la formula de concatenar as: =CONCATENAR(A2;"I";B2;"I";C2) al utilizar esta formula, el resultado que veras es: nombreIdniItelfonos
La otra persona que abra el archivo debe seleccionar toda la informacin y seleccionar la opcin de datos, texto en columnas, delimitados, otro. En otro ingresa I y con eso se separa. Usuario La idea es cuando lea el cdigo de barras el lector lo separe en campos diferentes, no quiero usar la funcin de texto en columna. Entonce tengo un cdigo de barras IIIIIIIIIi que contiene nombre apellido dni y cuando lo leeo con el lector de barras los separe en los tres campos. No se si soy claro, les comento que mi trabajo tenemos hojas que vienen con cdigo de barras y cuando les pasamos el lector nos los separa en diferentes campos . Muchas gracias por las repuesta . Martin
Experto Si la informacin se encuentra en una columna, puedes utilizar la siguiente macro
Buenos das, mi pregunta es la siguiente: Estoy trabajando en un libro Excel en el cual ingreso determinados datos, por ejemplo: (celdas A1:C1) Cdigo de articulo deposito cantidad (celdas A2:C2) 10202030 1 1120 La consulta es la siguiente: En la celda A3 junto todos los datos (1020203011120) y los transformo a cdigo de barras, hasta aqu todo bien, el tema es que quiero que al leer el cdigo con la pistola, esta reconozca cuando separar los valores con un enter, o sea, los acomode nuevamente en celdas separadas, la cuestin quedara algo as 10202030 (ENTER) 1 (ENTER) 1120 (ENTER). Antes que pregunten, se que en Excel para cambiar a la celda contigua se usa el TAB, YO NECESITO QUE SEA ENTER ya que los datos sern volcados en el sistema de gestin de la empresa y el usa ENTER para moverse entre reas de texto. se entiende mi problema o es muy complicado?. Desde ya espero que alguien pueda ayudarme con mi problema. Gracias
concatena la cadena insertando chr(32) retorno carro
10202030 & chr(32) 1 & chr(32) 1120 & chr(32)
eso mediante macro
perdona, pero estoy medio complicado con las macros y no se como crear una, solo he aprendido a grabar alguna que otra sencilla...podras darme una mano? claro
ejemplo Sub concatena() [d1] = [A1] & Chr(10) & Chr(13) & [b1] & Chr(10) & Chr(13) & [c1] & Chr(10) & Chr(13) End Sub
esto toma los valores de celdas a1 b1 c1 y los concatena en d1 incluyendo saltos de pagina perdona nuevamente, pero debo de estar haciendo algo mal. si bien la funcin es algo de lo que necesito, tambin me genera un error: al convertir los datos a cdigo de barra, genera en los lugares del Chr(10) o Chr(13) un rectngulo que la pistola no reconoce... estoy haciendo algo mal?. otra pregunta, como hago para que la macro se active al salir de la celda en la que estoy cargando los datos? disculpa que sea tan molesto mira bsicamente un enter es insercion de linea y retorno de carro. que en el fondo es el "recuadro" que te aparece, no es un error, solo que el enter es un "carater no imprimible", en ascii todos los caracteres no imprimibles aparecen con ese cuadrado. tu querias un enter y eso puse.
respecto a activar un macro al salir de una celda debes utilizar el evento SelectionChange del objeto hoja... desde el editor de vbasic alt+f11 das doble click sobre la "hoja" en que deseas realizar el macro y luego haces la llamada al macro: ejemplo:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) call tu_macro
End Sub Despus de un buen rato buscando informacin por internet, de ver los tres pasos para la realizacin de este clculo y ver como alguno ofrece alguna solucin para Excel que no es correcta, a continuacin pongo mi frmula de EXCEL para el clculo del dgito de control de los cdigos de barra EAN-13. Se supondr que el nmero de 12 dgitos estar en la casilla B8 y en la C8 o D8 pondremos la frmula que ella, en s misma nos ofrecer el cdigo de barras completo:
=CONCATENAR(B8;MULTIPLO.SUPERIOR((VALOR(EXTRAE(TEXTO(B8;0);1;1))*1)+(VALOR(EXTRAE (TEXTO(B8;0);2;1))*3)+(VALOR(EXTRAE(TEXTO(B8;0);3;1))*1)+(VALOR(EXTRAE(TEXTO(B8;0);4;1))*3 )+(VALOR(EXTRAE(TEXTO(B8;0);5;1))*1)+(VALOR(EXTRAE(TEXTO(B8;0);6;1))*3)+(VALOR(EXTRAE(T EXTO(B8;0);7;1))*1)+(VALOR(EXTRAE(TEXTO(B8;0);8;1))*3)+(VALOR(EXTRAE(TEXTO(B8;0);9;1))*1)+ (VALOR(EXTRAE(TEXTO(B8;0);10;1))*3)+(VALOR(EXTRAE(TEXTO(B8;0);11;1))*1)+(VALOR(EXTRAE( TEXTO(B8;0);12;1))*3);10)- ((VALOR(EXTRAE(TEXTO(B8;0);1;1))*1)+(VALOR(EXTRAE(TEXTO(B8;0);2;1))*3)+(VALOR(EXTRAE(T EXTO(B8;0);3;1))*1)+(VALOR(EXTRAE(TEXTO(B8;0);4;1))*3)+(VALOR(EXTRAE(TEXTO(B8;0);5;1))*1)+ (VALOR(EXTRAE(TEXTO(B8;0);6;1))*3)+(VALOR(EXTRAE(TEXTO(B8;0);7;1))*1)+(VALOR(EXTRAE(TE XTO(B8;0);8;1))*3)+(VALOR(EXTRAE(TEXTO(B8;0);9;1))*1)+(VALOR(EXTRAE(TEXTO(B8;0);10;1))*3)+( VALOR(EXTRAE(TEXTO(B8;0);11;1))*1)+(VALOR(EXTRAE(TEXTO(B8;0);12;1))*3))) En caso de querer el dgito de control aislado: =(VALOR(EXTRAE(TEXTO(B8;0);1;1))*1)+(VALOR(EXTRAE(TEXTO(B8;0);2;1))*3)+(VALOR(EXTRAE(T EXTO(B8;0);3;1))*1)+(VALOR(EXTRAE(TEXTO(B8;0);4;1))*3)+(VALOR(EXTRAE(TEXTO(B8;0);5;1))*1)+ (VALOR(EXTRAE(TEXTO(B8;0);6;1))*3)+(VALOR(EXTRAE(TEXTO(B8;0);7;1))*1)+(VALOR(EXTRAE(TE XTO(B8;0);8;1))*3)+(VALOR(EXTRAE(TEXTO(B8;0);9;1))*1)+(VALOR(EXTRAE(TEXTO(B8;0);10;1))*3)+( VALOR(EXTRAE(TEXTO(B8;0);11;1))*1)+(VALOR(EXTRAE(TEXTO(B8;0);12;1))*3)- MULTIPLO.SUPERIOR((VALOR(EXTRAE(TEXTO(B8;0);1;1))*1)+(VALOR(EXTRAE(TEXTO(B8;0);2;1))*3 )+(VALOR(EXTRAE(TEXTO(B8;0);3;1))*1)+(VALOR(EXTRAE(TEXTO(B8;0);4;1))*3)+(VALOR(EXTRAE(T EXTO(B8;0);5;1))*1)+(VALOR(EXTRAE(TEXTO(B8;0);6;1))*3)+(VALOR(EXTRAE(TEXTO(B8;0);7;1))*1)+ (VALOR(EXTRAE(TEXTO(B8;0);8;1))*3)+(VALOR(EXTRAE(TEXTO(B8;0);9;1))*1)+(VALOR(EXTRAE(TE XTO(B8;0);10;1))*3)+(VALOR(EXTRAE(TEXTO(B8;0);11;1))*1)+(VALOR(EXTRAE(TEXTO(B8;0);12;1))*3 );10) Ah queda eso y ahora un poco de teora. El proceso de clculo es muy sencillo, basta con seguir tres puntos: *Numerando el cdigo de Derecha a Izquierda, se multiplican por 1 los dgitos que ocupan posicin par, y por tres los dgitos que ocupan posicin impar. *Se suman los valores de los productos obtenidos. *Se busca la decena superior al resultado de la suma anterior y se restan estos dos valores. El resultado obtenido es el dgito de control. Ejemplo prctico: (12) (11) (10) (9) (8) (7) (6) (5) (4) (3) (2) (1) Numeracin 8 4 1 2 3 4 5 6 7 8 9 1 Cdigo EAN-13 sin dgito de Control 1 3 1 3 1 3 1 3 1 3 1 3 Primer Paso (el multiplicador para cada posicin) 8 12 1 6 3 12 5 18 7 24 9 3 Resultados (de la multiplicacin) 8+12+1+6+3+12+5+18+7+24+9+3 = 108 Segundo Paso (suma de todas las multiplicaciones) Valor de la decena Superior . 110 Valor del resultado obtenido . 108 Diferencia = 2 Resultado de la Resta : 2 DGITO DE CONTROL EL CDIGO COMPLETO ES: 84 12345 67891 2
Hola Men, agradezco esta solucion, me salvaste la vida solo hay que hacerle una pequea modificacion a la formula para que jale perfecto, en lugar de ocupar ;, ocupamos ,, de lo contrario marca error excel al intentar ejecutar la funcion. Por lo que queda asi: =CONCATENAR(B8,MULTIPLO.SUPERIOR((VALOR(EXTRAE(TEXTO(B8,0),1,1))*1)+ (VALOR(EXTRAE(TEXTO(B8,0),2,1))*3)+(VALOR(EXTRAE(TEXTO(B8,0),3,1))*1)+ (VALOR(EXTRAE(TEXTO(B8,0),4,1))*3)+(VALOR(EXTRAE(TEXTO(B8,0),5,1))*1)+ (VALOR(EXTRAE(TEXTO(B8,0),6,1))*3)+(VALOR(EXTRAE(TEXTO(B8,0),7,1))*1)+ (VALOR(EXTRAE(TEXTO(B8,0),8,1))*3)+(VALOR(EXTRAE(TEXTO(B8,0),9,1))*1)+ (VALOR(EXTRAE(TEXTO(B8,0),10,1))*3)+(VALOR(EXTRAE(TEXTO(B8,0),11,1))*1)+ (VALOR(EXTRAE(TEXTO(B8,0),12,1))*3),10)-((VALOR(EXTRAE(TEXTO(B8,0),1,1))*1)+ (VALOR(EXTRAE(TEXTO(B8,0),2,1))*3)+(VALOR(EXTRAE(TEXTO(B8,0),3,1))*1)+ (VALOR(EXTRAE(TEXTO(B8,0),4,1))*3)+(VALOR(EXTRAE(TEXTO(B8,0),5,1))*1)+ (VALOR(EXTRAE(TEXTO(B8,0),6,1))*3)+(VALOR(EXTRAE(TEXTO(B8,0),7,1))*1)+ (VALOR(EXTRAE(TEXTO(B8,0),8,1))*3)+(VALOR(EXTRAE(TEXTO(B8,0),9,1))*1)+ (VALOR(EXTRAE(TEXTO(B8,0),10,1))*3)+(VALOR(EXTRAE(TEXTO(B8,0),11,1))*1)+ (VALOR(EXTRAE(TEXTO(B8,0),12,1))*3)))..Saludos Marco..