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

#11 GRIEGO59
11/11/2007 - 14:23 | Informe spam
Hola, Héctor Miguel!

Mil gracias!!!

Quedó espectacular tu propuesta!!! : )

La verdad no hace mucha falta una pausa al terminar de imprimir cada hoja,
así como lo propones, todo de una vez es mejor.

Indicar al sistema "desde y hasta" desde dos celdas es muy cómodo y
conveniente!!!

Saludos,
Darío

"Héctor Miguel" escribió:

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
#12 Ivan
12/11/2007 - 02:45 | Informe spam
hola de nuevo, Hector (y cia)

=> (obviamente con los supuestos y el rango de impresion "ajustado" al papel/etiquetas)



disculpa que vuelva a molestarte, pero me estoy volviendo loco
intentando ajustar el rango a un modelo concreto de etiquetas
(Apli-1282)

el problema [creo] viene de los dichosos saltos de 0,75 puntos en el
alto de fila. Te explico las caracteristicas de la hoja, a ver si se
te ocurre algo=>

.->Hoja de dina4 con 68 etiquetas (4 col. X 17 filas)

.->margen superior de 0,5 cm (aprox) , el inferior +/-

.->margen izquierdo 0,8 cm (aprox) el dcho +/-

.->no tiene margenes internos (van juntas/pegadas unas a las otras)

.->alto de etiquetas = 1,69 cm (47,91 puntos aprox)

.->ancho 4,85 cm (137,48 puntos) aunque el ancho no es problema

bueno, por un lado creo que debido a [los margenes de] la impresora
(HP de las baratas) me va a ser imposible usar la ultima fila, asi que
consideremos que tiene 16 filas

el problema viene de que los dos multiplos de 0,75 mas cercanos me
descuadran la etiqueta (0,66 ptos si le doy el inferior <47,25> y/o
0,09 si le aplico el superior <48,00>), y aunque en las primeras filas
no se nota al final el acumulado hace que no cuadre el texto con la
etiqueta

de momento estoy probando a ir descuadrando algunas filas con el
superior y cada x filas intentar 'cuadrar un poco con el inferior,
pero debo estar muy torpe y no doy con la combinacion que me permita
mantener el texto (2 o 3 lineas) dentro de la etiqueta

tambien habia pensado en usar el inferior e insertar una fila no
imprimible de 0,75 cada x filas. Pero aunque supongo que adptar la
macro no seria demasiado problema, sigo sin verlo claro en cuanto al
ajuste de las etiquetas.

en fin, la consulta es, por un lado, y aunque creo que no es posible:
¿hay alguna manera de ajustar las filas a medidas que esten fuera del
intervalo de 0,75?

por otro lado, y aunque es casi OT, no conoceeras (o conocereis) algun
fabricante +/- comercilizado a nivel internacional (o al menos en
españa ) que trabaje etiquetas de este tipo pero con medidas ajustadas
a los requisitos de Excel en cuanto a lo comentado se refiere. O algun
modelo en concreto de etiquetas +/- pequeñas que cumplan esta
condicion (al menos que el alto sea un multiplo de 0,75)

bueno, aparte si se te/os ocurre alguna combinacion de alturas para
ajustar +/- las etiquetas comentadas, tambien se agradeceria

en cualquier caso de nuevo muchas gracias

un saludo
Ivan
Respuesta Responder a este mensaje
#13 Héctor Miguel
12/11/2007 - 04:43 | Informe spam
hola, Ivan !

(hasta donde se) el detalle de necesitar/querer ajustar "al milimetro" las medidas de celdas (excel)
para (tratar de) "encajar" sus textos en lugares "especificos" de (p.e.) formatos pre-impresos...
"ya trae lo suyo" :D

1) no te aseguro que obtendras medidas EXACTAS (de cierto que)... habra alguna variacion -supongo que-... aceptable ? :))

2) al final del presente te propongo dos alternativas (que son perfectamente modificables/adaptables/...)
para ajustar a medidas (centimetros, milimetros, ...) el alto y ancho de una celda (p.e. la celda activa)

3) de todas formas (y solo por si las...) transcribo las consideraciones (que considero) relevantes para tomar en cuenta :))

si cualquier duda (o informacion adicional)... comentas?
saludos,
hector.

a) toma muy en cuenta que...
los ajustes posibles del ancho de una columna SOLO se pueden dar en 6 intervalos entre un entero y el siguiente...
0.17, 0.33, 0.50, 0.67, 0.83 y 1.00 (1 seria el siguiente entero) y son medidas =>en puntos<= (p.e.)
si tratas de establecer (aun por codigo) el ancho de una columna en 12.25 (finalmente) quedara en 12.33 :(
intervalos que se deberan tener en cuenta si se pretende ajustar a medidas en centimetros, pulgadas, -???-

b) con respecto de las propiedades de medidas de los objetos...
- ColumnWidth devuelve el ancho de la columna (basado en la fuente normal... en uso)
- Width y RowHeight devuelven una medida en puntos (1/72 de pulgada... 72 pixeles por pulgada)
- la propiedad RowHeight (la altura de una fila) NO puede exceder de 409.5 puntos
- Zoom (aplicable a un objeto Window) afecta la proporcionalidad entre ambos tipos de medida
- la resolucion de salida (impresora) puede mostrar proporcionalidades diferentes (vs. pantalla)
- en las propiedades de la pantalla (windows) cada usuario puede personalizar los puntos por pulgada
- se necesita factorizar las diferentes unidades de medida (etc. etc. etc.)

c) el ejemplo que te expongo en seguida, ajusta las dimensiones de la celda activa a un cuadrado de +/- 12 cms
puedes adaptarlo para trabajar con grupos/bloques de celdas y/o por medio de bucles/ciclos
NO te aseguro que las medidas sean exactas (por los factores) pero... de que la celda se cuadra... se cuadra !!! :))

en un modulo de codigo normal ==Sub CuadrarCeldaActiva()
Dim Cms As Double, Fx As Double
Cms = 12
With ActiveCell
.ColumnWidth = Cms
Fx = .Width / .ColumnWidth
.ColumnWidth = Application.CentimetersToPoints(Cms) / Fx
Fx = .Width / .ColumnWidth
.RowHeight = .ColumnWidth * Fx
End With
End Sub

d) otra forma de dimensionar alto de fila y ancho de columna...

en un modulo de codigo normal ==Sub CeldaActivaEnMilimetros()
Dim Ancho As Single, Alto As Single, Fx As Single, Fy As Single
Ancho = 80 <= indica al ancho en milimetros
Alto = 80 <= indica al alto en milimetros
Ancho = Ancho / 10
Alto = Alto / 10
Fy = Alto / Ancho
With ActiveCell
.ColumnWidth = Ancho
Fx = .Width / .ColumnWidth
.ColumnWidth = Application.CentimetersToPoints(Ancho) / Fx
Fx = .Width / .ColumnWidth
.RowHeight = .ColumnWidth * Fx * Fy
End With
End Sub

__ la consulta original __
... me estoy volviendo loco intentando ajustar el rango a un modelo concreto de etiquetas (Apli-1282)
el problema [creo] viene de los dichosos saltos de 0,75 puntos en el alto de fila.
Te explico las caracteristicas de la hoja, a ver si se te ocurre algo=>


.->Hoja de dina4 con 68 etiquetas (4 col. X 17 filas)
.->margen superior de 0,5 cm (aprox) , el inferior +/-
.->margen izquierdo 0,8 cm (aprox) el dcho +/-
.->no tiene margenes internos (van juntas/pegadas unas a las otras)
.->alto de etiquetas = 1,69 cm (47,91 puntos aprox)
.->ancho 4,85 cm (137,48 puntos) aunque el ancho no es problema
bueno, por un lado creo que debido a [los margenes de] la impresora (HP de las baratas)
me va a ser imposible usar la ultima fila, asi que consideremos que tiene 16 filas
el problema viene de que los dos multiplos de 0,75 mas cercanos me descuadran la etiqueta
(0,66 ptos si le doy el inferior <47,25> y/o 0,09 si le aplico el superior <48,00>)
y aunque en las primeras filas no se nota al final el acumulado hace que no cuadre el texto con la etiqueta
de momento estoy probando a ir descuadrando algunas filas con el superior y cada x filas intentar 'cuadrar un poco con el inferior
pero... no doy con la combinacion que me permita mantener el texto (2 o 3 lineas) dentro de la etiqueta
tambien habia pensado en usar el inferior e insertar una fila no imprimible de 0,75 cada x filas.
Pero aunque supongo que adptar la macro no seria demasiado problema, sigo sin verlo claro en cuanto al ajuste de las etiquetas.
en fin, la consulta es, por un lado, y aunque creo que no es posible:
hay alguna manera de ajustar las filas a medidas que esten fuera del intervalo de 0,75?
por otro lado, y aunque es casi OT, no conoceeras (o conocereis) algun fabricante +/- comercilizado a nivel internacional
(o al menos en espana ) que trabaje etiquetas de este tipo pero con medidas ajustadas a los requisitos de Excel...
O algun modelo en concreto de etiquetas +/- pequeñas que cumplan esta condicion (al menos que el alto sea un multiplo de 0,75)
bueno, aparte si se te/os ocurre alguna combinacion de alturas para ajustar +/- las etiquetas comentadas, tambien se agradeceria
Respuesta Responder a este mensaje
#14 Ivan
14/11/2007 - 17:46 | Informe spam
Hola Hector,

solo darte las gracias una vez mas

(estaba esperando a lograr una adaptacion de tus propuestas que
automatizara la tarea para [casi] cualquier etiqueta, pero no he
tenido oportunidad [o cabeza] para meterle a fondo y sigo con algunos
descuadres en cuanto al tamaño final y posicion (me temo que la
impresora tiene mucho que ver)

asi que, como no se lo que tardare, no queria dejar de agradecerte tu
ayuda, que por otro lado creo que da bastantes posibilidades/ideas
para encarar el tema, aparte de algunos datos que nunca acabo de
recordar

por cierto los intervalos que das para columnwidth son en puntos y
supongo que los que se muestran cuando aplicamos el cursor a la linea
de columna son en ¿twips?, de ahi la diferencia. Lo curioso es que en
twips tiene un intervalo mas, haciendolos dificilmente relacionables.

Solo es un comentario pues en cualquier caso es cuestion de usar el
que interese en cada caso. Pero me ha llamado la atencion

lo dicho, un saludo y muchas gracias
Ivan

PD: si encuentro como ajustarlos mas en base a lo que me hace falta en
un plazo razonable, te/lo comento
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida