Concatenar 3 celdas en 1 en 3 renglones

29/10/2005 - 13:58 por lomboc | Informe spam
Hola a todos.

Me gustaria saber si es posible concatenar el contenido de tres celdas
(A1, B1; C1) en una 4ª (D1) centrando o justificando el contenido de cada
una en un renglon diferente, añadiendo ademas algun texto fijo (REF:,
PVP:,€).
Se trata de imprimir etiquetas directamente desde excel formateando las
hojas previamente para ajustar las celdas a un modelo de etiqueta
prediseñado. Se supone que ya esta configurada para texto variable, etc.
He probado con esta formula:

EN LA CELDA D1="REF:"&" "&A1&" "&B1&" "&"PVP:"&" "&C1&"€"

Ej:
A B C D
REF: TH-54321
1 TH-54321 JARRON CHINO NACAR 12,50 JARRON CHINO NACAR
PVP: 12,50 €

Los espacios grandes serian los que me darian los saltos de linea, pero en
cuanto varia un poco la longitud de las cadenas se me descabala.

Muchas gracias de antemano.
Un saludo, Ivan.

Preguntas similare

Leer las respuestas

#1 lomboc
29/10/2005 - 18:02 | Informe spam
Hola

Lo primero MUCHAS GRACIAS por tu ayuda. Ha funcionado PERFECTAMENTE. Lo he
adaptado con un par de cambios de formato y me va a venir de maravilla.

Lo segundo, y si no es abusar, hacerte/os un par de consultas:¿ Que
devuelve exactamente CARACTER(10)?, lo he probado y me devuelve algo
parecido a un 0/o,
pero que no debe de serlo.
Por otra parte no se si podras/eis decirme como medir el ancho de
columna. Mientras que el alto de fila si lo puedo regular en "mm", el
ancho de columna parece medirse en caracteres, pero no se exactamente como
buscarle una equivalencia para mis necesiades.

Gracias de nuevo y hasta pronto.

un saludo.
Ivan


wrote:

Hola Ivan, puedes usar esta fórmula:

="Ref.: "&A2&CARACTER(10)&B2&CARACTER(10)&"PVP: "&TEXTO(C2;"$##0,00")

Luego sigues estos pasos:
1.. Seleccione la columna en la que van a estar las etiquetas
2.. En el menú Formato, elija Celdas y, a continuación, haga clic en la


ficha Alineación.
3.. En Control del texto, active la casilla de verificación Ajustar texto.
Espero sea lo que necesitas, Chao.


"Ivan" escribió en el mensaje


news:
Hola a todos.

Me gustaria saber si es posible concatenar el contenido de tres celdas
(A1, B1; C1) en una 4ª (D1) centrando o justificando el contenido de cada
una en un renglon diferente, añadiendo ademas algun texto fijo (REF:,
PVP:,€).
Se trata de imprimir etiquetas directamente desde excel formateando las
hojas previamente para ajustar las celdas a un modelo de etiqueta
prediseñado. Se supone que ya esta configurada para texto variable, etc.
He probado con esta formula:

EN LA CELDA D1="REF:"&" "&A1&" "&B1&" "&"PVP:"&" "&C1&"€"

Ej:
A B C D
REF: TH-54321
1 TH-54321 JARRON CHINO NACAR 12,50 JARRON CHINO NACAR
PVP: 12,50 €

Los espacios grandes serian los que me darian los saltos de linea, pero en
cuanto varia un poco la longitud de las cadenas se me descabala.

Muchas gracias de antemano.
Un saludo, Ivan.
Respuesta Responder a este mensaje
#2 klokmkbock
30/10/2005 - 16:27 | Informe spam
wrote:

Hola Ivan, la fórmula CARACTER(10), devuelve u avance de línea y retorno de


carro, lo que quiere decir que el cursor salta a la línea siguiente y se sitúa
al principio de la línea.
En cuanto a la medida de las celdas te copio una respuesta que le di hace


tiempo a otro colega.
Espero que te aclare algunas dudas y lo que se quede oscuro lo preguntas.

Los métodos para medir el ancho y el alto de las celdas en Excel son un poco


enredados.
Primero, la pantalla del computador usa como unidad de medida el Píxel, que


es el mínimo punto que puede presentar.
Segundo el alto de las filas y de las fuentes se mide en puntos y
Tercero, como si fuera poco, Microsoft determinó que el ancho de las


columnas lo mediría en caracteres; con lo que tenemos un galimatías del bueno.

Convertir los puntos a píxeles no es muy complicado ya que un Píxel es igual


a 0.75 Puntos, por este lado la cosa está buena.
Lo de el ancho de los caracteres es otra historia; la base para medir los


caracteres son los caracteres normales minúsculas de ancho medio, de una
fuente como la Arial de 10 puntos; si haces la prueba y le das un ancho de 10
a una columna, veras que te caven diez caracteres, tales como: "dddddddddd";
todo va muy bien,
sin embargo en estas fuentes todos los caracteres no ocupan el mismo ancho,


por ejemplo la "m" es más ancha y la "i" ocupa menos espacio, pero tomamos el
ancho de la mayoría, aquí somos democráticos.

Un caracter normal tiene un ancho de siete píxeles, además a toda cadena se


le añaden cinco píxeles mas repartidos al principio y al final esto quiere
decir que tiene un ancho de doce píxeles cuando está solo, por lo que tenemos
un formula sencilla para calcular el ancho de la columna basados en el número
de caracteres, siempre que sean mayores de un caracter, o sea mayores que doce
píxeles, pero si son menores ya es otra cosa, porque por debajo de un
caracter la medida es en doceavos de caracter o sea que una columna de un
píxel, tiene un ancho de un doceavo de caracter y por encima de un caracter el
ancho en píxeles de la columna es el número de caracteres multiplicado por
siete más cinco, veamos las fórmulas hasta el momento:

Alto_de_la_Fila = 0.75 * píxeles, Para cualquier alto de celda. Máximo 546


píxeles, 409.5 puntos, que es el tamaño de fuente más grande y no de 409 como
dice el programa.
Ancho_de_la_Columna = ( píxeles - 5 ) / 7 , Para celda que tienen más de un


caracter de ancho, o sea más de doce píxeles.
Ancho_de_la_Columna = píxeles / 12 , Para celda que tienen menos de un


caracter de ancho, o sea celdas con doce o menos píxeles de ancho.

con esto ya tendríamos suficiente, pero como queremos una fórmula para


celdas cuadradas de cualquier tamaño que permita nuestra aplicación, vamos a
implementarla agregando las condiciones para cuando el ancho de la celda es
menor que un caracter.
Si descomponemos los fraccionarios, nos quedan de esta manera:

Ancho_de_la_Columna = píxeles / 7 - 5 / 7 , Para celda que tienen más de


un caracter de ancho.
Ancho_de_la_Columna = píxeles / ( 7 + 5) , Para celda que tienen menos de un


caracter de ancho.

Ahora lo que tenemos que hacer es eliminar el cinco en las dos formulas


cuando corresponda, para que nos quede una fórmula unificada, veámoslo:
Para eliminar el cinco cuando el número de píxeles es igual o menor que


doce, lo multiplicamos por ( píxeles =< 12 ) y por ( píxeles > 12 ), cuando es
mayor, quedando la fórmula de esta manera:

Ancho_de_la_Columna = píxeles / ( 7 - 5 * (píxeles =< 12)) + 5 * ( píxeles >


12 ) / 7 , Para todas las celdas

Y aquí está esta macro para que pruebes estas fórmulas:

Option Explicit
Const CC_MENSAJE = "Entre el valor en píxeles del lado de la celda"
Const CC_TITULO = "Hacer Celda Cuadrada"

Sub CeldaCuadrada()
'
' CeldaCuadrada Macro
' Macro creada el 16/06/2005 por William Posada C. - ()
' Medellín, COLOMBIA
'
Dim píxeles As Integer, Ancho_de_la_Columna As Double, Alto_de_la_Fila As


Double
'
' For píxeles = 1 To 546
píxeles = Application.InputBox(CC_MENSAJE, CC_TITULO, , , , , 8)
Alto_de_la_Fila = 0.75 * píxeles
Ancho_de_la_Columna = (píxeles) / (7 - 5 * (píxeles <= 12)) + 5 * (píxeles
12) / 7
ActiveCell.ColumnWidth = Ancho_de_la_Columna
ActiveCell.RowHeight = Alto_de_la_Fila
' Next
End Sub

Cualquier duda me cuentas y trataré de aclararla, chao.


"Ivan" escribió en el mensaje


news:
Hola

Lo primero MUCHAS GRACIAS por tu ayuda. Ha funcionado PERFECTAMENTE. Lo he
adaptado con un par de cambios de formato y me va a venir de maravilla.

Lo segundo, y si no es abusar, hacerte/os un par de consultas:¿ Que
devuelve exactamente CARACTER(10)?, lo he probado y me devuelve algo
parecido a un 0/o,
pero que no debe de serlo.
Por otra parte no se si podras/eis decirme como medir el ancho de
columna. Mientras que el alto de fila si lo puedo regular en "mm", el
ancho de columna parece medirse en caracteres, pero no se exactamente como
buscarle una equivalencia para mis necesiades.

Gracias de nuevo y hasta pronto.

un saludo.
Ivan


wrote:

> Hola Ivan, puedes usar esta fórmula:

> ="Ref.: "&A2&CARACTER(10)&B2&CARACTER(10)&"PVP: "&TEXTO(C2;"$##0,00")

> Luego sigues estos pasos:
> 1.. Seleccione la columna en la que van a estar las etiquetas
> 2.. En el menú Formato, elija Celdas y, a continuación, haga clic en la
ficha Alineación.
> 3.. En Control del texto, active la casilla de verificación Ajustar


texto.
> Espero sea lo que necesitas, Chao.
>

> "Ivan" escribió en el mensaje
news:
> Hola a todos.

> Me gustaria saber si es posible concatenar el contenido de tres celdas
> (A1, B1; C1) en una 4ª (D1) centrando o justificando el contenido de


cada
> una en un renglon diferente, añadiendo ademas algun texto fijo (REF:,
> PVP:,€).
> Se trata de imprimir etiquetas directamente desde excel formateando las
> hojas previamente para ajustar las celdas a un modelo de etiqueta
> prediseñado. Se supone que ya esta configurada para texto variable,


etc.
> He probado con esta formula:

> EN LA CELDA D1="REF:"&" "&A1&" "&B1&" "&"PVP:"&" "&C1&"€"

> Ej:
> A B C D
> REF: TH-54321
> 1 TH-54321 JARRON CHINO NACAR 12,50 JARRON CHINO NACAR
> PVP: 12,50 €

> Los espacios grandes serian los que me darian los saltos de linea,


pero en
> cuanto varia un poco la longitud de las cadenas se me descabala.

> Muchas gracias de antemano.
> Un saludo, Ivan.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida