¿Es formato del texto?

3 envíos / 0 nuevos
Último envío
Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
¿Es formato del texto?

Hola

 

Estoy trabajando en una tabla en la que introduzco los datos por código. Cada mes se debe crear una hoja nueva, y crearse por medio de código una nueva tabla que debería ser igual que la del mes anterior, pero sin datos, claro.

La tabla es un listado de productos (nombre y código) seguidos por unos datos diarios.

Lo que hago es que copio mediante este código:

 

Range(nombretablaanterior & "[[Concepto]:[Código]]").Select

Application.CutCopyMode = False

Selection.Copy

Sheets(nombre).Select

Range(nombretabla & "[Concepto]").Select

ActiveSheet.Paste

 
 
donde nombre, nombretabla y nombretablaanterior son variables bastante autodescriptivas.
 
Esto me da como resultado unas filas que tienen una altura de 10,50 (14 píxeles)
 
La tabla original tenía una altura de celdas de 15 (20 píxeles), que es lo que tiene también la hoja donde copio, porque la acabo de crear y Excel las crea por defecto con filas de 20 píxeles de altura.
 
A continuación aplico una rutina para añadir datos. Si el código de producto existe, añade el dato en la columna correspondiente. Si el código no existe, lo que hago es añadir una fila a la tabla mediante el siguiente código:
 
 Selection.ListObject.ListRows.Add AlwaysInsert:=False
 
Y luego adjudico los correspondientes valores a cada celda, salvo las fórmulas que se añaden solas al ser una tabla.
 
Mi problema es que esta fila que se añade tiene 20 píxeles de altura.
 
No sería importante (de hecho no lo es, solo afecta a la presentación) si solo fuera la altura de la celda, porque se puede cambiar mediante un código muy sencillo al final de toda la rutina:
 
Range(nombretabla & "[Concepto]").Select
Selection.EntireRow.RowHeight = 15
 
Selecciono una columna y luego uso Entirerow porque el código [#all] no me funciona en todos los ordenadores.
 
Lo malo es que al hacer esto, el texto se me queda pegado a la parte baja de la celda, mientras que el texto que he añadido está centrado.
Ya he mirado todo lo que me parece evidente, pero no doy con la solución. En Formato de celdas|Alineación y Fuente está todo exactamente igual. El tema debería ser el mismo al estar en la misma tabla.
 
Si copio y pego el formato a toda la fila, ambas se igualan, pero me gustaría saber qué es exactamente lo que varía para poder controlarlo en el código a la hora de pegar los datos.
 
Adjunto un ejemplo con 3 filas. La primera es la que tiene el problema. La segunda es igual, a la que he cambiado el alto. Y la tercera es como quiero que quede.
 
Saludos
AdjuntoTamaño
File Libro1.xlsx10.88 KB
pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 día 44 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: ¿Es formato del texto?

dices que "Excel las crea por defecto con filas de 20 píxeles de altura". bueno, esto en realidad depende de la fuente y el tamaño de la fuente que hayas establecido por defecto para tus nuevos libros (está en Opciones de Excel>más frecuentes>al crear nuevo libro) Tu libro tiene calibri 11, pero en la tabla hay Verdana 8.

fíjate que toda la fila superior (toda la fila de la hoja) está con verdana 8, mientras que si añades una nueva fila a la tabla, sólo está con verdana 8 la tabla, pero a la derecha está con calibri 11 (que es lo que fija el alto mínimo)

 

¿por qué no aplicas el formato a la tabla de destino y luego pegas sólo valores? a ver qué pasa

------
Ya sé Excel, pero necesito más ahora en pdf

 

------
Ya sé Excel, pero necesito más.

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Re: ¿Es formato del texto?

Pues muchísimas gracias. Como no podía ser de otra manera, me has resuelto el problema.

La cosa se resuelve poniendo letra calibrí 11 en todas las celdas de cualquier columna a la derecha de la tabla.

 

Saludos