Cómo hacer etiquetas con Excel?

10/11/2007 - 03:14 por GRIEGO59 | Informe spam
Alguien puede decirme como se pueden hacer etiquetas en Excel?

Cuando digo “etiquetas” me refiero a pequeñas fichas, cortoncitos,
tarjetitas que se pegan a los productos para la venta para identificarlos y
que contienen información básica del producto como descripción, color,
precio, código, referencia, etc. En mi caso de una hoja o cartulina tamaño
carta, obtengo 25 etiquetas de igual tamaño (5 hileras de 5 etiquetas cada
una)

Actualmente imprimo las etiquetas de 25 en 25 a medida que se van comprando
los productos.

Normalmente cuando los productos van a ser etiquetados, los productos se
organizan físicamente en el almacén en el mismo orden que se muestran en la
hoja “compras” por lo que las etiquetas deben imprimirse en forma secuencial,
es decir que deben imprimirse en el mismo orden que aparecen los productos
comprados en la hoja “compras”

Actualmente las hago así:
Tengo la hoja “compras” con los títulos de columnas desde las celdas a1
hasta m1:

Idcompra
Código del producto,
Feha de compra,
Número de factura de compra,
Cantidad comprada,
Costo unitario,
Precio de venta,
Total compra,
Proveedor,
Descripción,
Color,
Marca,
Talla;

Donde:
Id Compra es un código único e irrepetible por cada producto comprado;
Código del producto es un código que se repite tantas veces como se compra
un producto;
Total compra es una fórmula;
Descripción, Color, Marca, Talla vienen de la hoja “productos” con la
fórmula “VBuscar”

y Tengo la hoja “etiquetas” con 26 filas con los títulos de columna desde
las celdas b1 hasta h1 que muestran las 25 etiquetas que se van a imprimir:
Id compra
Precio de venta,
Código del producto,
Descripción,
Color,
Marca,
Proveedor

Donde:
Id Compra lo copio y pego manualmente tantas veces como cantidad comprada
muestre la hoja “compras”; el resto de las columnas vienen de la hoja
“compras” con la fórmula “VBuscar”
En la fila 28 comienzan las etiquetas las cuales están vinculadas con cada
una de las 25 filas.

El problema es que cuando voy a imprimir cada hoja o cartulina de 25
etiquetas, debo indicar manualmente en las primeras 25 filas las productos
que deseo que tengan etiqueta y como esto depende del orden de los productos
en la hoja “compras” y de la cantidad de productos comprados que muestra la
columna “cantidad comprada” de la hoja “compras” me equivoco mucho y siempre
imprimo más o menos etiquetas que productos comprados y si me distraigo un
poco, a veces me salto algún producto o repito algún producto y esto me trae
problemas para etiquetar : (

No sé, pienso que podría haber una forma de indicarle a Excel que tome
directamente la información de la hoja “compras” escribiendo el “Id Compras”
desde donde Excel debe comenzar a imprimir las etiquetas y que Excel imprima
una etiqueta por cada producto comprado o por ejemplo decirle a Excel que
imprima todas las etiquetas de los productos comprados en alguna fecha
determinada tal vez es más fácil.

Otro problema es que cuando deseo cambiar el tamaño de las etiquetas y por
consiguiente la cantidad de etiquetas por hoja, debo cuadrar manualmente y
hacer varias pruebas hasta que se ajusten al tamaño del papel. Me preguntaba
si Excel tiene algo previsto para esto.

Gracias por la ayuda.

Griego59

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
11/11/2007 - 04:00 | Informe spam
hola, Ivan !

el tema de la impresion de etiquetas... en base al stock/pedido/etc reflejado en un campo de una tabla
fue junto a los formateos y gestion de inventarios... uno de los motivos iniciales de mi actual adiccion a vba.



=> concatenar con formato (consulta de mayo 2006) ?

... ha influido en mi 'relajacion'... una etiquetadota con software propio aunque horrible y limitado/limitante ...
... este hilo me ha hecho pensar en retomar el tema... via... la 'combinacion' de tablas y 'combinar correspondencia'.
... empiezo a pensar que no debe de ser tan facil. Antes... solia hacer las etiquetas por dos vias (tres con la del boli.je, je..)
1) mediante el ajuste via prueba error... y... una macro que llenaba tantas celdas como etiq. hubiera que imprimir por registro
pero las ultimas filas acababan siempre descuadradas, con el consiguiente desperdicio de etiquetas
2) usando sobres y etiquetas en Word, creando un nuevo documento de etiquetas bien sobre un modelo/marca ya integrado (pej. aply 1284)
o personalizandolo. En este caso el desperdicio de etiquetas es minimo, pero tenia que rellenar (como Dario)
a base de copiar/pegar registro a registro tantas veces como fuese necesario



=> la intencion/idea/... de la macro propuesta es precisamente (tratar de) evitar el desperdicio y/o impresiones "en blanco"
lo importante/necesario/entendido/... es tener un formato "imprimible" (en excel) que se ajuste a las dimensiones del papel/etiquetas

... siempre habia puesto mis esperanzas en que fuese posible una especie de combinacion de ambos metodos
... rellenar las etiquetas de Word mediante un macro... echandole un ojo a algunos objetos/propiedades/metodos de VBaWord
y aunque tras leer tu mensaje me han entrado las dudas, hubiera pensado que quizas seria posible
[curiosamente lo que me ha parecido que quizas tendria(/podria?) que usarse son el objeto, propiedad y metodo Range
<y quizas tambien cell/s y Row y Column>. pero de Word]



=> (honestamente) me resulta mas facil administrar n_etiquetas de cada producto para llenar un listado "imprimible"...
en excel... que en word :-(( (con mis disculpas para quien tenga mas experiencia en word y pudiera estar en desacuerdo) :D

1 Seria posible rellenar las etiquetas de un documento de Word con el contenido de una tabla?
2 de no ser asi, lo seria con los ítems de una lista de Word con parrafos numerados?



=> (hasta donde se) los campos en combinacion de correspondencia en word se actualizan (p.e. al imprimir el documento)
un registro (fila en la tabla) por combinacion/impresion segun n_campos (columnas en excel) en el documento -?-

y de ser esto posible Como se podria rellenar dicha lista desde una tabla de excel
haciendo corresponder la numeracion de los parrafos con cada registro x su no. de veces?



=> "esto es" (precisamente) lo que le pregunte a Davo:
"me gustaria si comentas el "como" hacer una combinacion de correspondencia (en word)"
"que repita n_etiquetas de un mismo campo combinado"
"cuidando que el formato no exceda de las 25 etiquetas disponibles en el papel (engomado ?)"
"y continue hasta agotar los registros (IdCompra) del origen de la combinacion de correspondencia -???-"

3 crees que existe alguna forma +/- accesible para realizar algo parecido?



=> prueba con la propuesta a Darío (obviamente con los supuestos y el rango de impresion "ajustado" al papel/etiquetas)

(insisto) este caso es (para mi) mas facil de administrar en directo desde excel... que en word
si alguien nos regala de su experiencia en word con la respuesta a la pregunta que hice a Davo...
(yo sere el primero en "sacarle provecho") ;)

saludos,
hector.
Respuesta Responder a este mensaje
#7 Ivan
11/11/2007 - 04:27 | Informe spam
On 11 nov, 04:00, "Héctor Miguel"
wrote:
hola, Ivan !

> el tema de la impresion de etiquetas... en base al stock/pedido/etc reflejado en un campo de una tabla
> fue junto a los formateos y gestion de inventarios... uno de los motivos iniciales de mi actual adiccion a vba.

=> concatenar con formato (consulta de mayo 2006) ?

> ... ha influido en mi 'relajacion'... una etiquetadota con software propio aunque horrible y limitado/limitante ...
> ... este hilo me ha hecho pensar en retomar el tema... via... la 'combinacion' de tablas y 'combinar correspondencia'.
> ... empiezo a pensar que no debe de ser tan facil. Antes... solia hacer las etiquetas por dos vias (tres con la del boli.je, je..)
> 1) mediante el ajuste via prueba error... y... una macro que llenaba tantas celdas como etiq. hubiera que imprimir por registro
> pero las ultimas filas acababan siempre descuadradas, con el consiguiente desperdicio de etiquetas
> 2) usando sobres y etiquetas en Word, creando un nuevo documento de etiquetas bien sobre un modelo/marca ya integrado (pej. aply 1284)
> o personalizandolo. En este caso el desperdicio de etiquetas es minimo, pero tenia que rellenar (como Dario)
> a base de copiar/pegar registro a registro tantas veces como fuese necesario

=> la intencion/idea/... de la macro propuesta es precisamente (tratar de) evitar el desperdicio y/o impresiones "en blanco"
lo importante/necesario/entendido/... es tener un formato "imprimible" (en excel) que se ajuste a las dimensiones del papel/etiquetas

> ... siempre habia puesto mis esperanzas en que fuese posible una especie de combinacion de ambos metodos
> ... rellenar las etiquetas de Word mediante un macro... echandole un ojo a algunos objetos/propiedades/metodos de VBaWord
> y aunque tras leer tu mensaje me han entrado las dudas, hubiera pensado que quizas seria posible
> [curiosamente lo que me ha parecido que quizas tendria(/podria?) que usarse son el objeto, propiedad y metodo Range
> <y quizas tambien cell/s y Row y Column>. pero de Word]

=> (honestamente) me resulta mas facil administrar n_etiquetas de cada producto para llenar un listado "imprimible"...
en excel... que en word :-(( (con mis disculpas para quien tenga mas experiencia en word y pudiera estar en desacuerdo) :D

> 1 Seria posible rellenar las etiquetas de un documento de Word con el contenido de una tabla?
> 2 de no ser asi, lo seria con los ítems de una lista de Word con parrafos numerados?

=> (hasta donde se) los campos en combinacion de correspondencia en word se actualizan (p.e. al imprimir el documento)
un registro (fila en la tabla) por combinacion/impresion segun n_campos (columnas en excel) en el documento -?-

> y de ser esto posible Como se podria rellenar dicha lista desde una tabla de excel
> haciendo corresponder la numeracion de los parrafos con cada registro x su no. de veces?

=> "esto es" (precisamente) lo que le pregunte a Davo:
"me gustaria si comentas el "como" hacer una combinacion de correspondencia (en word)"
"que repita n_etiquetas de un mismo campo combinado"
"cuidando que el formato no exceda de las 25 etiquetas disponibles en el papel (engomado ?)"
"y continue hasta agotar los registros (IdCompra) del origen de la combinacion de correspondencia -???-"

> 3 crees que existe alguna forma +/- accesible para realizar algo parecido?

=> prueba con la propuesta a Darío (obviamente con los supuestos y el rango de impresion "ajustado" al papel/etiquetas)

(insisto) este caso es (para mi) mas facil de administrar en directo desde excel... que en word
si alguien nos regala de su experiencia en word con la respuesta a la pregunta que hice a Davo...
(yo sere el primero en "sacarle provecho") ;)

saludos,
hector.



hola Hector,

gracias por la respuesta.

en realidad el principal motivo de 'tirar' de word, era el ajuste
[casi] perfecto de los rangos de impresion de las etiquetas, gracias
sobre todo a la gran cantidad de marcas/modelos reconocidos por este,
y a la relativa facilidad y precision a la hora de personalizar
nuevos documentos de etiquetas.

de todas formas cuando usaba las 'tecnicas' descritas mis concimientos
de excel y/o vba eran casi nulos, y no conseguia ajustar los margenes
para conseguir un documento [casi] perfectamente ajustado a las hojas
de etiquetas correspondientes, con lo que las filas inferiores
acababan acumulando el descuadre que te comentaba

supongo que ahora ya si sere capaz de ajustar bastante las hojas para
que el descuadre sea minimo.

mañana mismo me liare a probar [y estudiar] tu macro a ver que tal. La
verdad es que me puede venir muy bien y creo que al menos una persona
por este lado tambien te lo va a agradecer.

un saludo y gracias de nuevo
Ivan

PD: de todas formas me sumo a tu comentario:=>

si alguien nos regala de su experiencia en word con la respuesta a la pregunta >que hice a Davo...




(yo sere el primero en "sacarle provecho") ;)
Respuesta Responder a este mensaje
#8 Ivan
11/11/2007 - 04:29 | Informe spam
por cierto=>

=> concatenar con formato (consulta de mayo 2006) ?





por que sera que no me sorprende??

un saludo de nuevo y hasta pronto
Ivan
Respuesta Responder a este mensaje
#9 GRIEGO59
11/11/2007 - 05:54 | Informe spam
Hola
Héctor Miguel!

Mil gracias!
Tu código funciona espectacular!!! : )
Repite las etiquetas tantas veces como "cantidad comprada"
Si el último grupo de etiquetas de cada página no se completa, lo continúa
en la siguiente página (esta partecita hacerla manualmente es lento)
Hace una pausa en cada página para imprimir.
Es genial !!!

Lo que no entendí fué:
"sustituyes los MsgBox (lineas 12 y 28) por tus instrucciones de impresion"

Yo entendí que cuando aparece(n) el/los mensaje(s) "Etiquetas Completas !!!"
y/o "Último bloque de etiquetas !!!", al presionar "Aceptar" el código debe
imprimir el "rango de impresión" configurado y que debo agregarle a tu código
instrucciones de impresión por lo que yo agregué:

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
después de la línea 12 y la 28 de tu código, por lo que se imprimen las
etiquetas página por página a medida se va presionando "Aceptar" con cada uno
de los mensajes.

Ojo!!! No es que yo sepa de código, sino que yo grabé en una macro la acción
de presionar el botón de impresión, luego abrí el código y lo copié y pegué
en tu código.

Luego cambié en tu código:

With Worksheets("compras")
For Fila_Id = 2 To 3 ' .Range("a65536").End(xlUp).Row
Cant_Id = .Range("e" & Fila_Id)

El "2 to 3" por el rango de filas que deseo imprimir etiquetas de la hoja
compras.

Supongo que tu sabes como modificar tu código para que me pregunte el rango
de etiquetas que deseo imprimir a través de un cuadro de diálogo en lugar de
entrar al código y modificarlo.

Por favor, podrías decirme como se hace?

Por cierto, el rango de impresión si es a partir de la línea 28 y no uso
etiquetas engomadas o autoadesivas, sino fichas de cartulina, fichas de papel
grueso que se fijan a las prendas de vestir con una pistolita que dispara
grapas plásticas. Estas fichas las obtengo recortando las hojas de papel
grueso o cartulina tamaño carta con una guillotina.

Saludos,
Griego59


"Héctor Miguel" escribió:

hola, Ivan !

> el tema de la impresion de etiquetas... en base al stock/pedido/etc reflejado en un campo de una tabla
> fue junto a los formateos y gestion de inventarios... uno de los motivos iniciales de mi actual adiccion a vba.

=> concatenar con formato (consulta de mayo 2006) ?

> ... ha influido en mi 'relajacion'... una etiquetadota con software propio aunque horrible y limitado/limitante ...
> ... este hilo me ha hecho pensar en retomar el tema... via... la 'combinacion' de tablas y 'combinar correspondencia'.
> ... empiezo a pensar que no debe de ser tan facil. Antes... solia hacer las etiquetas por dos vias (tres con la del boli.je, je..)
> 1) mediante el ajuste via prueba error... y... una macro que llenaba tantas celdas como etiq. hubiera que imprimir por registro
> pero las ultimas filas acababan siempre descuadradas, con el consiguiente desperdicio de etiquetas
> 2) usando sobres y etiquetas en Word, creando un nuevo documento de etiquetas bien sobre un modelo/marca ya integrado (pej. aply 1284)
> o personalizandolo. En este caso el desperdicio de etiquetas es minimo, pero tenia que rellenar (como Dario)
> a base de copiar/pegar registro a registro tantas veces como fuese necesario

=> la intencion/idea/... de la macro propuesta es precisamente (tratar de) evitar el desperdicio y/o impresiones "en blanco"
lo importante/necesario/entendido/... es tener un formato "imprimible" (en excel) que se ajuste a las dimensiones del papel/etiquetas

> ... siempre habia puesto mis esperanzas en que fuese posible una especie de combinacion de ambos metodos
> ... rellenar las etiquetas de Word mediante un macro... echandole un ojo a algunos objetos/propiedades/metodos de VBaWord
> y aunque tras leer tu mensaje me han entrado las dudas, hubiera pensado que quizas seria posible
> [curiosamente lo que me ha parecido que quizas tendria(/podria?) que usarse son el objeto, propiedad y metodo Range
> <y quizas tambien cell/s y Row y Column>. pero de Word]

=> (honestamente) me resulta mas facil administrar n_etiquetas de cada producto para llenar un listado "imprimible"...
en excel... que en word :-(( (con mis disculpas para quien tenga mas experiencia en word y pudiera estar en desacuerdo) :D

> 1 Seria posible rellenar las etiquetas de un documento de Word con el contenido de una tabla?
> 2 de no ser asi, lo seria con los ítems de una lista de Word con parrafos numerados?

=> (hasta donde se) los campos en combinacion de correspondencia en word se actualizan (p.e. al imprimir el documento)
un registro (fila en la tabla) por combinacion/impresion segun n_campos (columnas en excel) en el documento -?-

> y de ser esto posible Como se podria rellenar dicha lista desde una tabla de excel
> haciendo corresponder la numeracion de los parrafos con cada registro x su no. de veces?

=> "esto es" (precisamente) lo que le pregunte a Davo:
"me gustaria si comentas el "como" hacer una combinacion de correspondencia (en word)"
"que repita n_etiquetas de un mismo campo combinado"
"cuidando que el formato no exceda de las 25 etiquetas disponibles en el papel (engomado ?)"
"y continue hasta agotar los registros (IdCompra) del origen de la combinacion de correspondencia -???-"

> 3 crees que existe alguna forma +/- accesible para realizar algo parecido?

=> prueba con la propuesta a Darío (obviamente con los supuestos y el rango de impresion "ajustado" al papel/etiquetas)

(insisto) este caso es (para mi) mas facil de administrar en directo desde excel... que en word
si alguien nos regala de su experiencia en word con la respuesta a la pregunta que hice a Davo...
(yo sere el primero en "sacarle provecho") ;)

saludos,
hector.



Respuesta Responder a este mensaje
#10 Héctor Miguel
11/11/2007 - 06:24 | Informe spam
hola, Darío !

__ 1 __
Lo que no entendi fue:
"sustituyes los MsgBox (lineas 12 y 28) por tus instrucciones de impresion"



1) la intencion de los mensajes era solo para comprobar si te satisfacia el llenado de las 25 lineas en la hoja "etiquetas"
una vez cumplida la comprobacion, y si no quieres "perder el tiempo contestando" a cada MsgBox (agilizas la impresion)
solo necesitas hacer los siguientes cambios (o dejarlo como lo tienes ya adaptado):

a) cambia esta parte:
If Libres = 0 Then
MsgBox "Etiquetas completas !!!"
Range("b2:b26").ClearContents
End If
-> por esta otra:
If Libres = 0 Then
ActiveSheet.PrintOut
Range("b2:b26").ClearContents
End If

b) y cambias esta parte:
If Evaluate("counta(b2:b26)") Then MsgBox "Ultimo bloque de etiquetas !!!"
-> por esta otra:
If Evaluate("counta(b2:b26)") Then ActiveSheet.PrintOut

__ 2 __
Luego cambie en tu codigo:
With Worksheets("compras")
For Fila_Id = 2 To 3 ' .Range("a65536").End(xlUp).Row
Cant_Id = .Range("e" & Fila_Id)
El "2 to 3" por el rango de filas que deseo imprimir etiquetas de la hoja compras.
... para que me pregunte el rango de etiquetas que deseo imprimir a traves de un cuadro de dialogo
en lugar de entrar al codigo y modificarlo... podrias decirme como se hace?



2) una forma +/- interactiva/amigable/dinamica/... es si pones en dos celdas las filas inicial y final a imprimir (de la hoja "compras")
-> en dos celdas de la misma hoja "etiquetas" (p.e. [J1] la fila inicial [J2] la fila ultima a imprimir
-> solo asegurate de que estas dos celdas siempre esten "ocupadas" y con la siguiente convencion:
[J1] a partir de 2 (Y MENOR QUE LA SIGUIENTE):
[J2] mayor o igual que 2 PERO menor o igual a la ultima fila ocupada en la hoja "compras"

una vez ajustado este tema, podrias modificar la instruccion "For ... 2 To 3" de la siguiente forma:

-> cambia esta parte:
For Fila_Id = 2 To 3 ' .Range("a65536").End(xlUp).Row
-> por esta otra:
For Fila_Id = [J1] To [J2]

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida