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
Adjunto | Tamaño |
---|---|
Libro1.xlsx | 10.88 KB |
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.
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